Add a new example with resume
[scilab.git] / scilab / modules / core / help / fr_FR / control_flow / resume.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="resume">
3     <refnamediv>
4         <refname>resume</refname>
5         <refpurpose>sortie d'une fonction ou reprise d'exécution, avec récupération de variables locales  </refpurpose>
6     </refnamediv>
7     <refsynopsisdiv>
8         <title>Séquence d'appel</title>
9         <synopsis>resume
10             [x1,..,xn]=resume(a1,..,an)
11         </synopsis>
12     </refsynopsisdiv>
13     <refsection>
14         <title>Description</title>
15         <para>
16             Dans une fonction <literal>resume</literal> termine son exécution et
17             <literal>[..]=resume(..)</literal> renvoie les variables locales
18             <literal>ai</literal> dans l'environnement appelant sous les noms <literal>xi</literal>.
19         </para>
20         <para>
21         </para>
22         <para>
23             En mode de <literal>pause</literal>, cela permet de reprendre l'exécution et
24             <literal>[..]=resume(..)</literal> renvoie les variables locales
25             <literal>ai</literal> dans l'environnement appelant sous les noms <literal>xi</literal>.
26         </para>
27         <para>
28             Utilisé dans l'argument de <literal>execstr</literal> appelé dans une fonction <literal>[..]=resume(..)</literal> termine l'exécution de la fonction et renvoie les variables locales <literal>ai</literal> dans l'environnement appelant sous les noms <literal>xi</literal>.
29         </para>
30         <para>
31             <literal>resume</literal> est équivalent à <literal>return</literal>.
32         </para>
33         <para>
34             <note>
35                 Note: l'utilisation de cette fonctionnalité peut complexifier le code. A la place, la syntaxe <code>function b = foo()</code> est recommendée.
36             </note>
37         </para>
38     </refsection>
39     
40     <refsection>
41         <title>Exemples</title>
42         <programlisting role="example"><![CDATA[
43 function foo(a)
44          a=a+1
45          b=resume(a)
46          c=52
47 endfunction
48
49 foo(42);
50 assert_checkequal(b,43);
51 // c n'exite pas
52
53 ]]></programlisting>
54         <programlisting role="example"><![CDATA[
55
56 // Avec plusieurs appels de fonctions
57 function foo1()
58   a=1;
59   b=2;
60   c=3;
61   [x,y,z]=resume(a, b, c)
62 endfunction
63
64 function foo2()
65   foo1()
66   x, y, z // Déclarés
67 endfunction
68
69 foo2()
70 // x y z n'existent pas ici
71 ]]></programlisting>
72         
73     </refsection>
74     <refsection role="see also">
75         <title>Voir aussi</title>
76         <simplelist type="inline">
77             <member>
78                 <link linkend="abort">abort</link>
79             </member>
80             <member>
81                 <link linkend="break">break</link>
82             </member>
83             <member>
84                 <link linkend="return">return</link>
85             </member>
86         </simplelist>
87     </refsection>
88 </refentry>