* Bug 15308 fixed: evstr(['1;2' '3;4']) was not accepted, unlike ['1 2';'3 4']
[scilab.git] / scilab / modules / string / help / fr_FR / evstr.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA
5  * Copyright (C) 2017 - Samuel GOUGEON
6  *
7  * Copyright (C) 2012 - 2016 - Scilab Enterprises
8  *
9  * This file is hereby licensed under the terms of the GNU GPL v2.0,
10  * pursuant to article 5.3.4 of the CeCILL v.2.1.
11  * This file was originally licensed under the terms of the CeCILL v2.1,
12  * and continues to be available under such terms.
13  * For more information, see the COPYING file which you should have received
14  * along with this program.
15  *
16  -->
17 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
18         xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
19         xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
20         xmlns:scilab="http://www.scilab.org" xml:id="evstr" xml:lang="fr">
21     <refnamediv>
22         <refname>evstr</refname>
23         <refpurpose>évalue des expressions Scilab et concatène leurs résultats</refpurpose>
24     </refnamediv>
25     <refsynopsisdiv>
26         <title>Syntaxe</title>
27         <synopsis>
28             H = evstr(M)
29             H = evstr(list(M, subExpr))
30             [H, ierr] = evstr(..)
31         </synopsis>
32     </refsynopsisdiv>
33     <refsection>
34         <title>Arguments</title>
35         <variablelist>
36             <varlistentry>
37                 <term>M</term>
38                 <listitem>
39                     <para>
40                         élément unique ou vecteur ou matrice de textes: expressions Scilab à évaluer,
41                         dont les résultats sont ensuite concaténés.
42                     </para>
43                 </listitem>
44             </varlistentry>
45             <varlistentry>
46                 <term>subExpr</term>
47                 <listitem>
48                     <para>
49                     vecteur de textes : expressions Scilab à évaluer avant <literal>M</literal>,
50                     et dont les résultats peuvent être utilisés dans les expressions données par
51                     <literal>M</literal>.
52                     </para>
53                 </listitem>
54             </varlistentry>
55             <varlistentry>
56                 <term>H</term>
57                 <listitem>
58                     <para>
59                         élément simple, vecteur, ou matrice des résultats concaténés.
60                     </para>
61                 </listitem>
62             </varlistentry>
63             <varlistentry>
64                 <term>ierr</term>
65                 <listitem>
66                     <para>entier, non nul si une erreur s'est produite.</para>
67                 </listitem>
68             </varlistentry>
69         </variablelist>
70     </refsection>
71     <refsection>
72         <title>Description</title>
73         <para>
74             <literal>evstr(..)</literal> évalue les expressions données en <varname>M</varname>.
75             Les résultats de celles-ci sont ensuite concaténés (au sens ensembliste) pour construire
76             <varname>H</varname>.
77         </para>
78         <para>
79             Toutes les expressions sont supposées produire des résultats de types et de tailles
80             compatibles avec leur concatenation.
81         </para>
82         <para>
83             Si l'évaluation d'un terme de <literal>M</literal> ou la concaténation des résultats
84             conduit à une erreur, la syntaxe
85             habituelle <literal>H = evstr(M)</literal> produira effectivement l'erreur.
86             La syntaxe alternative <literal>[H, ierr] = evstr(M)</literal> permet de capturer toute
87             possible erreur, pour la gérer sans interrompre l'exécution du programme Scilab.
88             Le cas échéant, <varname>H</varname> retourne <literal>[]</literal> et <varname>ierr</varname>
89             retourne <literal>999</literal> ou un autre code entier > 0.
90         </para>
91         <para>
92             Si <varname>M</varname> est fournie en 1er élément d'une list(), les expressions Scilab
93             fournies dans <varname>subExpr</varname> sont évaluées avant d'évaluer celles de
94             <varname>M</varname>. Chaque expression de <varname>M</varname> peut faire référence
95             au résultat de <varname>subExpr(k)</varname> par <literal>"%(k)"</literal> et ainsi
96             utiliser ces résultats.
97         </para>
98         <warning>
99             <itemizedlist>
100                 <listitem>
101                     <para>
102                     aucune affectation telle que <literal>"a = 1"</literal> n'est acceptée comme
103                     expression évaluable, ni dans <varname>M</varname> ni dans <varname>subExpr</varname>.
104                     <function>execstr</function> doit être utilisée à la place pour exécuter de
105                     telles expressions.
106                     </para>
107                 </listitem>
108                 <listitem>
109                     <para>
110                     Aucune expression dans <varname>M</varname> et <varname>subExpr</varname> ne
111                     doit utiliser une marque <literal>".."</literal> de poursuite à la ligne.
112                     </para>
113                 </listitem>
114             </itemizedlist>
115         </warning>
116         <note>Alias autorisés :
117             <itemizedlist>
118                 <listitem>
119                         <literal>"Nan"</literal> et <literal>"NaN"</literal> sont compris comme
120                         <constant>%nan</constant>.
121                 </listitem>
122                 <listitem>
123                         <literal>"Inf"</literal> et <literal>"INF"</literal> sont compris comme
124                         <constant>%inf</constant>.
125                 </listitem>
126             </itemizedlist>
127         </note>
128     </refsection>
129     <refsection>
130         <title>Exemples</title>
131         <programlisting role="example"><![CDATA[
132 a = 1;
133 b = 2;
134 Z = ['a','b'];
135 evstr(Z)
136 a = 1;
137 b = 2;
138 Z = list(['%(1)','%(1)-%(2)'],['a+1','b+1']);
139 evstr(Z)
140 evstr('NaN'), evstr('Inf')
141
142 // Capture des erreurs d'évaluation
143 [H, ierr] = evstr(Z)  // pas d'erreur
144 Z = ['a', 'b', 'c'] ; // la variable c n'est pas définie:
145 H = evstr(Z)          // exécution avec erreur et interruption
146 [H, ierr] = evstr(Z)  // exécution silencieuse
147 ]]></programlisting>
148     </refsection>
149     <refsection role="see also">
150         <title>Voir aussi</title>
151         <simplelist type="inline">
152             <member>
153                 <link linkend="execstr">execstr</link>
154             </member>
155             <member>
156                 <link linkend="sci2exp">sci2exp</link>
157             </member>
158             <member>
159                 <link linkend="strtod">strtod</link>
160             </member>
161             <member>
162                 <link linkend="brackets">concaténation</link>
163             </member>
164         </simplelist>
165     </refsection>
166     <refsection role="history">
167         <title>Historique</title>
168         <revhistory>
169             <revision>
170                 <revnumber>5.3.0</revnumber>
171                 <revdescription>
172                 <literal>"Nan"</literal> et <literal>"NaN"</literal> sont désormais compris comme <literal>%nan</literal>.
173                 <literal>"Inf"</literal> et <literal>"INF"</literal> sont désormais compris comme <literal>%inf</literal>.
174                 </revdescription>
175             </revision>
176             <revision>
177                 <revnumber>6.0.1</revnumber>
178                 <revdescription>
179                   Les expressions d'entrée peuvent désormais inclure des commentaires simples
180                   <literal>// ..</literal>, quel que soit le format de <literal>M</literal>.
181                 </revdescription>
182             </revision>
183         </revhistory>
184     </refsection>
185 </refentry>