mtlb_isfield
Fonction d'émulation de la fonction Matlab isfield
Description
Il n'y a pas de fonction Scilab equivalente à la fonctions Matlab isfield(st,f)
et l'expression équivalente se comporte différemment dans certains cas particuliers:
Si
st
n'est pas une structure : l'équivalent Scilab retourne une erreur alors que Matlab renvoie0
.
La fonction mtlb_isfield(st,f)
est utilisée par
mfile2sci
pour remplacer isfield(st,f)
quand il n'était pas
possible de savoir ce qu'étaient les paramètres d'entrée pendant la conversion d'un code
Matlab vers Scilab. Cette fonction va
déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant
on peut remplacer les appels à mtlb_isfield
:
Si
st
est une structuretf = mtlb_isfield(st,f)
peut être remplacé parallf=getfield(1,st);tf=or(allf(3:$)==f);
Si
st
n'est pas une structuretf = mtlb_isfield(st,f)
peut être remplacé partf=%F;
Attention : mtlb_isfield ne doit pas être utilisée pour une programmation manuelle. |
Voir aussi
- getfield — extraction d'un champ d'une liste
Report an issue | ||
<< mtlb_isa | Fonctions compatibles | mtlb_isletter >> |