Void

Quando você olha para o 'Vazio', apenas 'nulo' pode ser visto.

Tem alguém aí fora?

Uma entrada é avaliada como null se não estiver definida no escopo atual.

Você pode comparar com null usando igualdade == ou desigualdade !=, como:

a == null  # verdadeiro, se 'a' não estiver definida
0 != null  # verdadeiro, porque 0 é um valor definido

Tenha em mente que você não pode declarar uma entrada sem valor no FatScript.

Embora você possa atribuir null a uma entrada, isso causa comportamentos diferentes, dependendo se a entrada já existe no escopo e se é mutável ou não:

  • Se uma entrada ainda não foi declarada, atribuir null não tem efeito.
  • Se já existe e é imutável, atribuir null gera um erro.
  • Se já existe e é mutável, atribuir null remove a entrada.

Declaração de exclusão

Atribuir null a uma entrada mutável é o mesmo que excluir essa entrada do escopo. Se excluído, nada é lembrado sobre essa entrada no escopo, nem mesmo seu tipo original.

~ m = 4   # entrada de número mutável
m = null  # exclui m do escopo

"valores" null são sempre mutáveis, pois na verdade nada é armazenado sobre eles e, portanto, são o único tipo de "valor" que pode fazer a transição de um estado mutável para um estado imutável quando "reatribuído"

Comparações

Você também pode usar Void para verificar o valor de uma entrada, como:

()    == Void  # verdadeiro
null  == Void  # verdadeiro
false == Void  # falso
0     == Void  # falso
''    == Void  # falso
[]    == Void  # falso
{}    == Void  # falso

Observe que Void só aceita null.

Outra forma de vazio

Nulos também podem ser expressos como parênteses vazios () e são efetivamente idênticos, em termos de comportamento no código:

null  == null  # verdadeiro
()    == null  # verdadeiro
()    == ()    # verdadeiro

Veja também

results matching ""

    No results matching ""