Saltar para o conteúdo principal
Versão: 20 R7 BETA

Undefined

Undefined ( variavel ) -> Resultado

ParâmetroTipoDescrição
variavelExpressionVariável a testar
ResultadoBooleanTRUE=Variável é atualmente indefinida; FALSE= Variável é atualmente definida

Descrição

Undefined retorna True se não for definida variavel e False se variavel não for definida.

  • Uma variável está definida se tiver sido criada através de uma diretiva de compilação ou se lhe atribui um valor. Está indefinida em todos os demais casos. Se o banco tiver sido compilado, a função Undefined retorna False para todas as variáveis
  • Uma propriedade de objeto é indefinida se não existir no objeto
  • A função Undefined sempre retorna False para referências de campo.

Nota: lembre que Undefined avalia a expressão. As declarações abaixo são equivalentes:

 $result:=Undefined($exp)
  // mesmo resultado:
 $result:=(Value type($exp)=Is undefined)

Em alguns casos, é possível que não queira que o parâmetro seja avaliado (por exemplo, quando utilizar um ponteiro a uma variável para verificar se a variável está definida). Então, deve escrever:

 $result:=(Type($ptr->)=Is undefined) //true se a variável apontada não existir (sem erro)

.

Exemplo

Abaixo os diferentes resultados do comando Undefined assim como do comando Null com propriedades de objeto, dependendo do contexto:

 var vEmp : Object
 vEmp:=New object
 vEmp.name:="Smith"
 vEmp.children:=Null
 
 $undefined:=Undefined(vEmp.name) // False
 $null:=(vEmp.name=Null) //False
 
 $undefined:=Undefined(vEmp.children) // False
 $null:=(vEmp.children=Null) //True
 
 $undefined:=Undefined(vEmp.parent) // True
 $null:=(vEmp.parent=Null) //True

Ver também

CLEAR VARIABLE