null
supprime un élément d'une liste, ou un champ d'une structure, M-liste ou T-liste
Syntaxe
List(i) = null() Struct.field = null()
Description
List
étant une liste simple, List(i)=[]
déclare
[]
comme valeur de l'élément n° i de la liste. Ainsi, contrairement
à son action sur les tableaux, []
ne peut pas ici servir de destructeur.
null()
est conçue pour le faire. Elle produit un objet de type 0 et
de typeof listdelete
qui supprime l'objet auquel il est affecté.
Le code de surcharge est objets de typeof listdelete est 0. |
L'affectation du résultat de null() à une variable supprime celle-ci.
L'utilisation de clear doit cependant être préférée pour supprimer les
objets nommés (tels que les variables). |
Exemples
type, typeof, et code de surcharge :
--> type(null()) ans = 0. --> typeof(null()) ans = listdelete --> null()==null() Opération indéfinie pour les opérandes données. vérifier ou définir la fonction %0_o_0 pour la surcharge.
Suppression d'un élément d'une liste :
--> length(L) ans = 4. --> L(2) = null(); --> length(L) ans = 3. --> L(2) ans = F
Suppression d'un champ d'un tableau de structure :
s(2,3).r = %pi; s(2,1).p = (1-%z)^2; s(1,2).b = %T s.p = null()
--> s(2,3).r = %pi; --> s(2,1).p = (1-%z)^2; --> s(1,2).b = %T s = 2x3 struct array with fields: r p b --> s.p = null() s = 2x3 struct array with fields: r b
Suppression d'un champ d'une M-liste ou d'une T-liste : aucun destructeur n'est défini par défaut :
ML = mlist(["test" "b" "c" "rp" "t"],[%t %f], %i, 1+%s^2, ["abc" "de" "f"]); fieldnames(ML)' ML.rp ML.rp = null()
--> fieldnames(ML)' ans = !b c rp t ! --> ML.rp ans = 2 1 +s --> ML.rp = null() Fonction non définie pour les types fournis. vérifier les arguments ou définir la fonction %0_i_test pour la surcharge.
// Définissons un destructeur de champ appelé par "= null()" : function L=%0_i_test(fieldName, Null, L) header = getfield(1,L) i = find(header==fieldName); if i~=[] then header(i) = []; L = setfield(1, header, L); L = setfield(i, null(), L); end endfunction // Utilisation : ML.rp = null(); fieldnames(ML)' ML.b, ML.c, ML.t
--> ML.rp = null(); --> fieldnames(ML)' ans = !b c t ! --> ML.b, ML.c, ML.t ans = T F ans = i ans = !abc de f !
Voir aussi
- clear — Suppression de variables
- clearglobal — supprime des variables globales
- [] — empty matrix. Array ranges destructor.
- delete — delete a graphic entity and its children.
- xmlDelete — Delete a XML document
- jremove — Remove a Java Object on the Java side
- jnull — The Scilab version of the Java null object.
- jvoid — For no argument functions
- list — Objet Scilab, Définition d'une liste
- mlist — Objet Scilab, définition d'une liste typée
- tlist — Objet Scilab. Définition d'une liste typée
- struct — Builds a structure or an array of structures
Report an issue | ||
<< mlist | Listes Structures Cells | rlist >> |