Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Chaînes de caractères > evstr

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 — converts an expression to a string
  • strtod — convertit chaque nombre décimal littéral (texte) 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.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Feb 12 19:15:32 CET 2018