Merge commit 'refs/remotes/origin/5.1'
[scilab.git] / scilab / modules / functions / help / pt_BR / execstr.xml
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) XXXX-2008 - INRIA
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  -->
13 <refentry version="5.0-subset Scilab" xml:id="execstr" xml:lang="en"
14           xmlns="http://docbook.org/ns/docbook"
15           xmlns:xlink="http://www.w3.org/1999/xlink"
16           xmlns:svg="http://www.w3.org/2000/svg"
17           xmlns:ns4="http://www.w3.org/1999/xhtml"
18           xmlns:mml="http://www.w3.org/1998/Math/MathML"
19           xmlns:db="http://docbook.org/ns/docbook">
20   <info>
21     <pubdate>$LastChangedDate$</pubdate>
22   </info>
23
24   <refnamediv>
25     <refname>execstr</refname>
26
27     <refpurpose>executa código Scilab em strings</refpurpose>
28   </refnamediv>
29
30   <refsynopsisdiv>
31     <title>Seqüência de Chamamento</title>
32
33     <synopsis>execstr(instr)
34 ierr=execstr(instr,'errcatch' [,msg])</synopsis>
35   </refsynopsisdiv>
36
37   <refsection>
38     <title>Parâmetros</title>
39
40     <variablelist>
41       <varlistentry>
42         <term>instr</term>
43
44         <listitem>
45           <para>vetor de strings, instrução Scilab a ser executada. </para>
46         </listitem>
47       </varlistentry>
48
49       <varlistentry>
50         <term>ierr</term>
51
52         <listitem>
53           <para>inteiro, 0 ou número de erro. </para>
54         </listitem>
55       </varlistentry>
56
57       <varlistentry>
58         <term>msg</term>
59
60         <listitem>
61           <para>string com valores <literal>'m'</literal> ou
62           <literal>'n'</literal>. O padrão é <literal>'n'</literal>.</para>
63         </listitem>
64       </varlistentry>
65     </variablelist>
66   </refsection>
67
68   <refsection>
69     <title>Descrição</title>
70
71     <para>Executa as instruções Scilab fornecidas pelo argumento
72     <literal>instr</literal>.</para>
73
74     <para>Note que instr não deve fazer uso de marcas de continuação(..)
75     </para>
76
77     <para></para>
78
79     <para>Se o flag 'errcatch' não estiver presente, a manipulação de erros
80     ocorre de maneira usual.</para>
81
82     <para>Se o flag 'errcatch' for ajustado, e um erro for encontrado enquanto
83     são executadas as instruções definidas em <literal>instr</literal>,
84     <literal>execstr</literal> não imprime uma mensagem de erro, mas aborta a
85     execução das instruções <literal>instr</literal> (no ponto onde o erro
86     ocorreu) e retorna com <literal>ierr</literal> igual ao número de erro.
87     Neste caso a exibição da mensagem de erro é controlada pela opção
88     <literal>msg</literal> :</para>
89
90     <variablelist>
91       <varlistentry>
92         <term>"m"</term>
93
94         <listitem>
95           <para>a mensagem é exibida e registrada.</para>
96         </listitem>
97       </varlistentry>
98
99       <varlistentry>
100         <term>"n"</term>
101
102         <listitem>
103           <para>nenhuma mensagem de erro é exibida, mas a mensagem de erro é
104           registrada (ver <literal>lasterror</literal>). Este é o
105           padrão.</para>
106         </listitem>
107       </varlistentry>
108     </variablelist>
109
110     <para>ierr= execstr(instr,'errcatch') pode manipular erros sintáticos.
111     Isto é útil para a avaliação de uma instrução obtida por uma pegunta ao
112     usuário.</para>
113   </refsection>
114
115   <refsection>
116     <title>Exemplos</title>
117
118     <programlisting role="example">
119
120 execstr('a=1') // ajusta a=1.
121 execstr('1+1') // faz nada (enquanto evstr('1+1') retorna 2)
122
123 execstr(['if %t then';
124          '  a=1';
125          '  b=a+1';
126          'else'
127          ' b=0'
128          'end'])
129
130 execstr('a=zzzzzzz','errcatch')
131 execstr('a=zzzzzzz','errcatch','m')
132
133 //erros de sintaxe
134 execstr('a=1?02','errcatch')
135 lasterror(%t)
136
137 execstr('a=[1 2 3)','errcatch')
138 lasterror(%t)
139
140  
141   </programlisting>
142   </refsection>
143
144   <refsection>
145     <title>Ver Também</title>
146
147     <simplelist type="inline">
148       <member><link linkend="evstr">evstr</link></member>
149
150       <member><link linkend="lasterror">lasterror</link></member>
151
152       <member><link linkend="error">error</link></member>
153
154       <member><link linkend="try">try</link></member>
155     </simplelist>
156   </refsection>
157 </refentry>