Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / core / help / ru_RU / 2_control_flow / return.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) 2008 - INRIA
5  *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <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="return">
17     <refnamediv>
18         <refname>return</refname>
19         <refpurpose>
20             возврат или возобновление исполнения и копирование некоторых локальных переменных
21         </refpurpose>
22     </refnamediv>
23     <refsynopsisdiv>
24         <title>Синтаксис</title>
25         <synopsis>
26             return
27             [x1,..,xn] = return(a1,..,an)
28         </synopsis>
29     </refsynopsisdiv>
30     <refsection>
31         <title>Аргументы</title>
32         <variablelist>
33             <varlistentry>
34                 <term>x1,..,xn</term>
35                 <listitem>
36                     <para>переменные в вызывающем окружении</para>
37                 </listitem>
38             </varlistentry>
39             <varlistentry>
40                 <term>a1,..,an</term>
41                 <listitem>
42                     <para>локальные переменные</para>
43                 </listitem>
44             </varlistentry>
45         </variablelist>
46     </refsection>
47     <refsection>
48         <title>Описание</title>
49         <para>
50             В функции <code>return</code> прекращает исполнение функции;
51             <literal>[x1,..,xn]=return(a1,..,an)</literal> прекращает исполнение
52             функции и выдаёт локальные переменные <varname>ai</varname> в
53             вызывающее окружение под именами <varname>xi</varname>.
54         </para>
55         <para>
56             В режиме <code>pause</code>, можно вернуться на более высокий уровень.
57             <literal>[x1,..,xn]=return(a1,..,an)</literal> возвращает на верхний уровень
58             и передаёт локальные переменные <varname>ai</varname> под именами <varname>xi</varname>.
59         </para>
60         <para>
61             В <code>execstr</code>, вызванной функцией
62             <literal>[x1,..,xn]=return(a1,..,an)</literal>
63             прекращает исполнение функции и выдаёт локальные переменные <varname>ai</varname>
64             в вызывающее окружение под именами <varname>xi</varname>.
65         </para>
66         <para>
67             Инструкция <code>resume</code> эквивалентна инструкции <code>return</code>.
68         </para>
69         <para>
70             <note>
71                 Примечание: использование этой возможности может усложнить код. Вместо
72                 этого рекомендуется использовать синтаксис <code>function b = foo()</code>.
73             </note>
74         </para>
75     </refsection>
76     <refsection>
77         <title>Примеры</title>
78         <programlisting role="example"><![CDATA[
79 function foo(a)
80          a=a+1
81          b=resume(a)
82          c=52
83 endfunction
84
85 foo(42);
86 assert_checkequal(b,43)
87 // c не существует
88
89  ]]></programlisting>
90     </refsection>
91     <refsection role="see also">
92         <title>Смотрите также</title>
93         <simplelist type="inline">
94             <member>
95                 <link linkend="abort">abort</link>
96             </member>
97             <member>
98                 <link linkend="break">break</link>
99             </member>
100             <member>
101                 <link linkend="pause">pause</link>
102             </member>
103             <member>
104                 <link linkend="execstr">execstr</link>
105             </member>
106             <member>
107                 <link linkend="resume">resume</link>
108             </member>
109         </simplelist>
110     </refsection>
111     <refsection role="history">
112         <title>История</title>
113         <revhistory>
114             <revision>
115                 <revnumber>6.0.0</revnumber>
116                 <revdescription>
117                   <literal>return</literal> is now protected:
118                   Assignments like <literal>return=1</literal> are no longer possible.
119                 </revdescription>
120             </revision>
121         </revhistory>
122     </refsection>
123 </refentry>