Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Français


evstr

évalue des expressions Scilab et concatène leurs résultats

Syntaxe

H = evstr(M)
H = evstr(list(M, subExpr))
[H, ierr] = evstr(..)

Arguments

M

élément unique ou vecteur ou matrice de textes: expressions Scilab à évaluer, dont les résultats sont ensuite concaténés.

subExpr

vecteur de textes : expressions Scilab à évaluer avant M, et dont les résultats peuvent être utilisés dans les expressions données par M.

H

élément simple, vecteur, ou matrice des résultats concaténés.

ierr

entier, non nul si une erreur s'est produite.

Description

evstr(..) évalue les expressions données en M. Les résultats de celles-ci sont ensuite concaténés (au sens ensembliste) pour construire H.

Toutes les expressions sont supposées produire des résultats de types et de tailles compatibles avec leur concatenation.

Si l'évaluation d'un terme de M ou la concaténation des résultats conduit à une erreur, la syntaxe habituelle H = evstr(M) produira effectivement l'erreur. La syntaxe alternative [H, ierr] = evstr(M) permet de capturer toute possible erreur, pour la gérer sans interrompre l'exécution du programme Scilab. Le cas échéant, H retourne [] et ierr retourne 999 ou un autre code entier > 0.

Si M est fournie en 1er élément d'une list(), les expressions Scilab fournies dans subExpr sont évaluées avant d'évaluer celles de M. Chaque expression de M peut faire référence au résultat de subExpr(k) par "%(k)" et ainsi utiliser ces résultats.

  • aucune affectation telle que "a = 1" n'est acceptée comme expression évaluable, ni dans M ni dans subExpr. execstr doit être utilisée à la place pour exécuter de telles expressions.

  • Aucune expression dans M et subExpr ne doit utiliser une marque ".." de poursuite à la ligne.

Alias autorisés :
  • "Nan" et "NaN" sont compris comme %nan.
  • "Inf" et "INF" sont compris comme %inf.

Exemples

a = 1;
b = 2;
Z = ['a','b'];
evstr(Z)
a = 1;
b = 2;
Z = list(['%(1)','%(1)-%(2)'],['a+1','b+1']);
evstr(Z)
evstr('NaN'), evstr('Inf')

// Capture des erreurs d'évaluation
[H, ierr] = evstr(Z)  // pas d'erreur
Z = ['a', 'b', 'c'] ; // la variable c n'est pas définie:
H = evstr(Z)          // exécution avec erreur et interruption
[H, ierr] = evstr(Z)  // exécution silencieuse

Voir aussi

  • execstr — exécution d'instructions Scilab contenues dans des chaînes de caractères
  • sci2exp — returns a string able to generate a given Scilab object
  • strtod — convertit chaque nombre décimal littéral (chaine de caractères) en sa valeur numérique
  • concaténation — Concaténation. Récipients d'une affectation. Résultats d'une function

Historique

VersionDescription
5.3.0 "Nan" et "NaN" sont désormais compris comme %nan. "Inf" et "INF" sont désormais compris comme %inf.
6.0.1 Les expressions d'entrée peuvent désormais inclure des commentaires simples // .., quel que soit le format de M.
Report an issue
<< emptystr Chaînes de caractères grep >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Mar 27 10:12:38 GMT 2023