1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
3 xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml"
4 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
5 xmlns:scilab="http://www.scilab.org" xml:id="evstr" xml:lang="pt">
7 <refname>evstr</refname>
8 <refpurpose>avaliação de expressões</refpurpose>
11 <title>Seqüência de Chamamento</title>
14 H = evstr(list(M, subExpr))
19 <title>Parâmetros</title>
24 <para>matriz de strings</para>
30 <para>vetor de strings</para>
42 <para>inteiro, indicador de erro</para>
48 <title>Descrição</title>
50 Retorna o resultado da avaliação da matriz de strings <literal>M</literal>.
51 Cada elemento da matriz deve definir uma expressão Scilab válida.
54 Se a avaliação de <literal>M</literal> levar a um erro, a versão de
55 valor de único retorno, <literal>H=evstr(M)</literal>, levanta erro de
56 modo usual. A versão de dois valores de retorno,
57 <literal>[H,ierr]=evstr(M)</literal> , por outro lado, não produz erro,
58 mas retorna o número de erro em <literal>ierr</literal>.
61 Se uma lista for fornecida, <literal>subExpr</literal> é um
62 vetor de strings, que define subexpressões que são avaliadas antes da
63 avaliação de <literal>M</literal>. Estas subexpressões devem ser referidas
64 como <literal>%(k)</literal> em <literal>M</literal>, onde
65 <literal>k</literal> é o índice da subexpressão em
66 <literal>Subexp</literal>.
72 Assignments like <literal>"a = 1"</literal> are not accepted as expressions,
73 neither in <varname>M</varname> nor in <varname>subExpr</varname>.
74 <function>execstr</function> must be used instead to evaluate such expressions.
79 Continuation marks <literal>".."</literal> are forbidden in expressions
80 in <varname>M</varname> as well as in <varname>subExpr</varname>.
85 <note>Special aliases:
88 <literal>"Nan"</literal> and <literal>"NaN"</literal> are parsed as
89 <constant>%nan</constant>.
92 <literal>"Inf"</literal> and <literal>"INF"</literal> are parsed as
93 <constant>%inf</constant>.
99 <title>Exemplos</title>
100 <programlisting role="example"><![CDATA[
101 a = 1; b = 2; Z = ['a','b'] ;
104 a = 1; b = 2; Z = list(['%(1)','%(1)-%(2)'],['a+1','b+1']);
107 evstr('NaN'), evstr('Inf')
109 //The two return values version
110 [H, ierr] = evstr(Z) // no error
111 Z = ['a', 'b', 'c'] ;// the variable c is undefined
112 [H, ierr] = evstr(Z) // error 4: Undefined variable: c
113 ]]> </programlisting>
116 <title>Ver Também</title>
117 <simplelist type="inline">
119 <link linkend="execstr">execstr</link>
122 <link linkend="sci2exp">sci2exp</link>
125 <link linkend="strtod">strtod</link>
128 <link linkend="brackets">concatenation</link>
132 <refsection role="history">
133 <title>Histórico</title>
136 <revnumber>5.3.0</revnumber>
138 <literal>"Nan"</literal> and <literal>"NaN"</literal> are now parsed as <literal>%nan</literal>.
139 <literal>"Inf"</literal> and <literal>"INF"</literal> are now parsed as <literal>%inf</literal>.
143 <revnumber>6.0.1</revnumber>
145 Simple comments are now supported in almost all possible input expressions,
146 whatever is the shape of <literal>M</literal>.