11.5.1.4 Utiliser les arguments d'une fonction
Le type de chaque argument est stocké dans le champ pval. Ce champ peut
prendre les valeurs suivantes :
IS_STRING |
Chaîne de caractères |
IS_DOUBLE |
Nombre à virgule flottante, en précision double |
IS_LONG |
Entier long |
IS_ARRAY |
Tableau |
IS_EMPTY |
Aucune |
IS_USER_FUNCTION |
?? |
IS_INTERNAL_FUNCTION |
?? (Si ce type ne peut pas être passé à
une fonction, effacez-le)
|
IS_CLASS |
?? |
IS_OBJECT |
?? |
Si vous recevez un argument d'un type, et que vous voulez l'utiliser
avec un autre type, ou si vous voulez simplement forcer le type, vous
pouvez utiliser l'une des fonctions de conversion suivantes :
convert_to_long(arg1); convert_to_double(arg1); convert_to_string(arg1); convert_to_boolean_long(arg1); /* Si la chaîne est "" ou "0" elle devient 0, 1 sinon */ convert_string_to_number(arg1); /* Convertit une chaîne en LONG ou DOUBLE suivant la chaîne */
Ces fonctions convertissent sur place : elles ne retournent aucune valeur.
La valeur de l'argument est enregistrée dans une union. Les membres sont :
- IS_STRING: arg1->value.str.val
- IS_LONG: arg1->value.lval
- IS_DOUBLE: arg1->value.dval
|