Aller au contenu principal
Version: Next

Undefined

Undefined ( expression ) -> Résultat

ParamètreTypeDescription
expressionExpression🡒Expression à tester
RésultatBooléen🡐Vrai = Variable actuellement indéfinie Faux = Variable actuellement définie

Description

La commande Undefined retourne Vrai si le résultat de l'évaluation d'expression n'est pas une valeur définie, sinon elle retourne Faux si expression a été définie.

  • Une variable est définie si elle a été créée via une directive de compilation ou si une valeur lui a été assignée. Elle est indéfinie dans tous les autres cas. Si la base de données a été compilée, la fonction Undefined retourne Faux pour toutes les variables.
  • Une propriété d'objet est indéfinie si elle n'existe pas dans l'objet.
  • La commande Undefined retourne toujours Faux pour les champs.

Note : A noter que Undefined évalue expression. Les instructions suivantes sont équivalentes :

 $result:=Undefined($exp)
  // résultat identique :
 $result:=(Value type($exp)=Est une variable indéfinie)

Dans certains cas, il est possible que vous ne souhaitiez pas évaluer le paramètre (par exemple, lorsque vous utilisez un pointeur vers une variable pour véifier si la variable est définie). Vous devez alors écrire :

 $result:=(Type($ptr->)=Est une variable indéfinie) //vrai si la variable pointée n'existe pas (pas d'erreur)

Exemple

Cet exemple compare les différents résultats de la commande Undefined et de la commande Null appliquées aux propriétés d'objets, en fonction du contexte :

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

Voir aussi

CLEAR VARIABLE