* 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
index 454906c..e328abb 100644 (file)
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA
+ * Copyright (C) 2017 - Samuel GOUGEON
  *
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
         xmlns:scilab="http://www.scilab.org" xml:id="evstr" xml:lang="fr">
     <refnamediv>
         <refname>evstr</refname>
-        <refpurpose>évaluation d'une expression</refpurpose>
+        <refpurpose>évalue des expressions Scilab et concatène leurs résultats</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Séquence d'appel</title>
-        <synopsis>H=evstr(Z)
-            [H,ierr]=evstr(Z)
+        <title>Syntaxe</title>
+        <synopsis>
+            H = evstr(M)
+            H = evstr(list(M, subExpr))
+            [H, ierr] = evstr(..)
         </synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Paramètres</title>
+        <title>Arguments</title>
         <variablelist>
             <varlistentry>
-                <term>Z</term>
+                <term>M</term>
                 <listitem>
                     <para>
-                        matrice de chaînes de caractères <literal>M</literal> ou
-                        <literal>list(M,Subexp)</literal>
+                        élément unique ou vecteur ou matrice de textes: expressions Scilab à évaluer,
+                        dont les résultats sont ensuite concaténés.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>subExpr</term>
+                <listitem>
+                    <para>
+                    vecteur de textes : expressions Scilab à évaluer avant <literal>M</literal>,
+                    et dont les résultats peuvent être utilisés dans les expressions données par
+                    <literal>M</literal>.
                     </para>
-                    <variablelist>
-                        <varlistentry>
-                            <term>M</term>
-                            <listitem>
-                                <para>matrice de chaînes de caractères</para>
-                            </listitem>
-                        </varlistentry>
-                        <varlistentry>
-                            <term>Subexp</term>
-                            <listitem>
-                                <para>vecteur de chaînes de caractères</para>
-                            </listitem>
-                        </varlistentry>
-                    </variablelist>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>H</term>
                 <listitem>
-                    <para>matrice</para>
+                    <para>
+                        élément simple, vecteur, ou matrice des résultats concaténés.
+                    </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
                 <term>ierr</term>
                 <listitem>
-                    <para>entier, 0 ou numéro de l'erreur</para>
+                    <para>entier, non nul si une erreur s'est produite.</para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
         <title>Description</title>
-        <para>Renvoie le résultat de l'évaluation de la matrice de chaînes de
-            caractères <literal>M</literal>. Chaque élément de la matrice doit être
-            une expression Scilab valide.
+        <para>
+            <literal>evstr(..)</literal> évalue les expressions données en <varname>M</varname>.
+            Les résultats de celles-ci sont ensuite concaténés (au sens ensembliste) pour construire
+            <varname>H</varname>.
         </para>
         <para>
-            Si l'évaluation d'un terme de <literal>M</literal> conduit à une
-            erreur, la syntaxe habituelle <literal>H=evstr(M)</literal>, déclenche le
-            message d'erreur. Dans la syntaxe <literal>[H,ierr]=evstr(M)</literal>
-            aucun message d'erreur n'est produit, mais le numéro de l'erreur est
-            renvoyé dans <literal>ierr</literal>.
+            Toutes les expressions sont supposées produire des résultats de types et de tailles
+            compatibles avec leur concatenation.
         </para>
         <para>
-            Si <literal>Z</literal> est une liste, <literal>Subexp</literal> est
-            un vecteur de chaînes de caractères qui définit des sous-expressions qui
-            sont évaluées avant <literal>M</literal>. Ces sous-expressions doivent
-            être référencées par l'expression <literal>%(k)</literal> dans
-            <literal>M</literal>, où <literal>k</literal> est la position de la
-            sous-expression dans la liste <literal>Subexp</literal>.
+            Si l'évaluation d'un terme de <literal>M</literal> ou la concaténation des résultats
+            conduit à une erreur, la syntaxe
+            habituelle <literal>H = evstr(M)</literal> produira effectivement l'erreur.
+            La syntaxe alternative <literal>[H, ierr] = evstr(M)</literal> permet de capturer toute
+            possible erreur, pour la gérer sans interrompre l'exécution du programme Scilab.
+            Le cas échéant, <varname>H</varname> retourne <literal>[]</literal> et <varname>ierr</varname>
+            retourne <literal>999</literal> ou un autre code entier > 0.
         </para>
-        <para>evstr('a=1') n'est pas valide (utiliser pour cela
-            <literal>execstr</literal>).
+        <para>
+            Si <varname>M</varname> est fournie en 1er élément d'une list(), les expressions Scilab
+            fournies dans <varname>subExpr</varname> sont évaluées avant d'évaluer celles de
+            <varname>M</varname>. Chaque expression de <varname>M</varname> peut faire référence
+            au résultat de <varname>subExpr(k)</varname> par <literal>"%(k)"</literal> et ainsi
+            utiliser ces résultats.
         </para>
-        <para>Nan et Nan seront interpretés comme %nan.</para>
-        <para>Inf sera interpreté comme %inf</para>
         <warning>
-            <varname>Z</varname> ne doit comporter aucunes marques de suite (..).
+            <itemizedlist>
+                <listitem>
+                    <para>
+                    aucune affectation telle que <literal>"a = 1"</literal> n'est acceptée comme
+                    expression évaluable, ni dans <varname>M</varname> ni dans <varname>subExpr</varname>.
+                    <function>execstr</function> doit être utilisée à la place pour exécuter de
+                    telles expressions.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                    Aucune expression dans <varname>M</varname> et <varname>subExpr</varname> ne
+                    doit utiliser une marque <literal>".."</literal> de poursuite à la ligne.
+                    </para>
+                </listitem>
+            </itemizedlist>
         </warning>
+        <note>Alias autorisés :
+            <itemizedlist>
+                <listitem>
+                        <literal>"Nan"</literal> et <literal>"NaN"</literal> sont compris comme
+                        <constant>%nan</constant>.
+                </listitem>
+                <listitem>
+                        <literal>"Inf"</literal> et <literal>"INF"</literal> sont compris comme
+                        <constant>%inf</constant>.
+                </listitem>
+            </itemizedlist>
+        </note>
     </refsection>
     <refsection>
         <title>Exemples</title>
@@ -108,7 +138,13 @@ b = 2;
 Z = list(['%(1)','%(1)-%(2)'],['a+1','b+1']);
 evstr(Z)
 evstr('NaN'), evstr('Inf')
-        ]]></programlisting>
+
+// 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
+]]></programlisting>
     </refsection>
     <refsection role="see also">
         <title>Voir aussi</title>
@@ -116,6 +152,34 @@ evstr('NaN'), evstr('Inf')
             <member>
                 <link linkend="execstr">execstr</link>
             </member>
+            <member>
+                <link linkend="sci2exp">sci2exp</link>
+            </member>
+            <member>
+                <link linkend="strtod">strtod</link>
+            </member>
+            <member>
+                <link linkend="brackets">concaténation</link>
+            </member>
         </simplelist>
     </refsection>
+    <refsection role="history">
+        <title>Historique</title>
+        <revhistory>
+            <revision>
+                <revnumber>5.3.0</revnumber>
+                <revdescription>
+                <literal>"Nan"</literal> et <literal>"NaN"</literal> sont désormais compris comme <literal>%nan</literal>.
+                <literal>"Inf"</literal> et <literal>"INF"</literal> sont désormais compris comme <literal>%inf</literal>.
+                </revdescription>
+            </revision>
+            <revision>
+                <revnumber>6.0.1</revnumber>
+                <revdescription>
+                  Les expressions d'entrée peuvent désormais inclure des commentaires simples
+                  <literal>// ..</literal>, quel que soit le format de <literal>M</literal>.
+                </revdescription>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>