8de17022ac4f8b00ca28c021289a543698299aec
[scilab.git] / scilab / modules / core / help / ru_RU / 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="ru" xml:id="resume">
3     <refnamediv>
4         <refname>resume</refname>
5         <refpurpose>выполнение возврата или возобновление и копирование некоторых локальных переменных</refpurpose>
6     </refnamediv>
7     <refsynopsisdiv>
8         <title>Последовательность вызова</title>
9         <synopsis>resume
10             [x1, ..., xn] = resume(a1, ..., an)
11         </synopsis>
12     </refsynopsisdiv>
13     <refsection>
14         <title>Аргументы</title>
15         <variablelist>
16             <varlistentry>
17                 <term>x1, ..., xn</term>
18                 <listitem>
19                     <para>переменные в вызывающем окружении</para>
20                 </listitem>
21             </varlistentry>
22             <varlistentry>
23                 <term>a1, ..., an</term>
24                 <listitem>
25                     <para>локальные переменные</para>
26                 </listitem>
27             </varlistentry>
28         </variablelist>
29     </refsection>
30     <refsection>
31         <title>Описание</title>
32         <para>
33             Внутри функции инструкция <literal>resume</literal>
34             останавливает исполнение функции;
35             <literal>[x1, ..., xn] = resume(a1, ..., an)</literal>
36             останавливает исполнение функции и передаёт локальные
37             переменные <literal>ai</literal> в вызывающее окружение под
38             именами <literal>xi</literal>.
39         </para>
40         <para>
41             В режиме <literal>pause</literal>, можно вернуться на более
42             высокий уровень.
43             <literal>[x1, ..., xn] = resume(a1, ..., an)</literal>
44             возвращает на верхний уровень и передаёт локальные
45             переменные <literal>ai</literal> под именами
46             <literal>xi</literal>.
47         </para>
48         <para>
49             В <literal>execstr</literal>, вызванной функцией,
50             <literal>[x1, ..., xn] = resume(a1, ..., an)</literal>
51             прекращает исполнение функции и выдаёт локальные переменные
52             <literal>ai</literal> в вызывающее окружение под именами
53             <literal>xi</literal>.
54         </para>
55         <para>
56             Инструкция <literal>resume</literal> эквивалентна инструкции <literal>return</literal>.
57         </para>
58         <para>
59             <note>
60                 Примечание: использование этой возможности может усложнить код. Вместо этого рекомендуется синтаксис <code>function b = foo()</code>.
61             </note>
62         </para>
63     </refsection>
64     <refsection>
65         <title>Examples</title>
66         <programlisting role="example"><![CDATA[
67 function foo(a)
68          a=a+1
69          b=resume(a)
70          c=52
71 endfunction
72
73 foo(42);
74 assert_checkequal(b,43);
75 // c не существует
76
77 ]]></programlisting>
78        <programlisting role="example"><![CDATA[
79
80 // при наличии нескольких вызовов функции
81 function foo1()
82   a=1;
83   b=2;
84   c=3;
85   [x, y, z] = resume(a, b, c)
86 endfunction
87
88 function foo2()
89   foo1()
90   x, y, z // объявлены
91 endfunction
92
93 foo2()
94 // x, y и z здесь не существуют
95 ]]></programlisting>
96     </refsection>
97     <refsection role="see also">
98         <title>Смотрите также</title>
99         <simplelist type="inline">
100             <member>
101                 <link linkend="abort">abort</link>
102             </member>
103             <member>
104                 <link linkend="break">break</link>
105             </member>
106             <member>
107                 <link linkend="quit">quit</link>
108             </member>
109             <member>
110                 <link linkend="pause">pause</link>
111             </member>
112             <member>
113                 <link linkend="return">return</link>
114             </member>
115             <member>
116                 <link linkend="execstr">execstr</link>
117             </member>
118         </simplelist>
119     </refsection>
120 </refentry>