Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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 — creer une struct
Report an issue | ||
<< mlist | Listes Structures Cells | rlist >> |