Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20.6
Indefinie

Indefinie 


 

Indefinie ( expression ) -> Résultat 
Paramètre Type   Description
expression  Expression in Expression à tester
Résultat  Booléen in Vrai = Variable actuellement indéfinie Faux = Variable actuellement définie

La commande Indefinie 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 Indefinie retourne Faux pour toutes les variables.
  • Une propriété d'objet est indéfinie si elle n'existe pas dans l'objet.
  • La commande Indefinie retourne toujours Faux pour les champs.

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

 $result:=Indefinie($exp)
  // résultat identique :
 $result:=(Type valeur($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 Indefinie et de la commande Null appliquées aux propriétés d'objets, en fonction du contexte :

 C_OBJET(vEmp)
 vEmp:=Creer objet
 vEmp.name:="Smith"
 vEmp.children:=Null
 
 $undefined:=Indefinie(vEmp.name) // Faux
 $null:=(vEmp.name=Null// Faux
 
 $undefined:=Indefinie(vEmp.children) // Faux
 $null:=(vEmp.children=Null// Vrai
 
 $undefined:=Indefinie(vEmp.parent) // Vrai
 $null:=(vEmp.parent=Null// Vrai



Voir aussi  

EFFACER VARIABLE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Langage
Numéro : 82
Nom intl. : Undefined

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

Modifié : 4D v11 SQL
Modifié : 4D v16 R4

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)