h = nelson.lang.invalidHandle(classname)
h = nelson.lang.invalidHandle(classname, n)
h = nelson.lang.invalidHandle(classname, m, n, ...)
h = nelson.lang.invalidHandle(classname, sz)
| Paramètre | Description |
|---|---|
| classname | nom d'une classe handle sous forme de vecteur de caracteres ou de string scalaire. |
| n, m, sz | dimensions entieres positives ou nulles du tableau de handles retourne. |
| Paramètre | Description |
|---|---|
| h | un scalaire ou tableau de handles invalides dont la classe est classname. |
nelson.lang.invalidHandle cree une valeur handle qui possede la classe demandee mais qui n'est pas valide.
isvalid(h) retourne faux pour chaque element du resultat.
Le nom de classe doit identifier une classe classdef handle. Les classes valeur et les noms de classe inconnus provoquent une erreur.
Sans argument de dimension, le resultat est scalaire. Avec une dimension scalaire numerique n, le resultat est n-par-n. Avec plusieurs dimensions scalaires ou un vecteur numerique sz, le resultat a ces dimensions.
Cette fonction est utile pour les API qui doivent conserver la classe d'une cible handle absente.
La valeur retournee se comporte comme un tableau de handles pour la classe, la taille, la concatenation avec des tableaux de handles compatibles, et isvalid. Aucun objet vivant n'est associe a cette valeur.
Les handles invalides ne deviennent pas valides ensuite. Pour obtenir un handle vivant, construire un nouvel objet de la meme classe.
Toutes les dimensions doivent etre des entiers positifs ou nuls. Un vecteur de dimensions vide cree un tableau de handles vide.
Une dimension scalaire unique suit la meme convention que les constructeurs de tableaux courants: nelson.lang.invalidHandle(classname, 3) retourne un tableau 3-par-3.
La classe est chargee avant la creation du tableau de handles. Les classes handle definies par l'utilisateur et presentes sur le path peuvent donc etre utilisees par nom.
Utiliser nelson.lang.HandlePlaceholder quand aucune classe handle plus specifique n'est disponible.
h = nelson.lang.invalidHandle('nelson.lang.HandlePlaceholder');
class(h)
isvalid(h)
h = nelson.lang.invalidHandle('nelson.lang.HandlePlaceholder', 2, 3);
size(h)
isvalid(h)
h = nelson.lang.invalidHandle("nelson.lang.HandlePlaceholder", [1 4]);
size(h)
class(h)
isvalid(h)
d = [tempdir(), 'nelson_help_invalid_handle/'];
mkdir(d);
filewrite([d, '/NelsonHelpInvalidHandleTarget.m'], ["classdef NelsonHelpInvalidHandleTarget < handle"; "end"]);
addpath(d);
h = nelson.lang.invalidHandle('NelsonHelpInvalidHandleTarget');
class(h)
isvalid(h)
try
nelson.lang.invalidHandle('double');
catch exception
disp(exception.message)
end
| Version | Description |
|---|---|
| 2.0.0 | version initiale |