* Bug 15236 fixed: isglobal() page was inaccurate + wrong examples
[scilab.git] / scilab / modules / core / help / ru_RU / variables / isglobal.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) 2012 - 2016 - Scilab Enterprises
5  * Copyright (C) 2017 - Samuel GOUGEON
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  -->
15 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
16         xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
17         xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
18         xml:lang="ru" xml:id="isglobal">
19     <refnamediv>
20         <refname>isglobal</refname>
21         <refpurpose>проверяет имеет ли локальная переменная глобальную копию</refpurpose>
22     </refnamediv>
23     <refsynopsisdiv>
24         <title>Синтаксис</title>
25         <synopsis>t = isglobal(varname)</synopsis>
26     </refsynopsisdiv>
27     <refsection>
28         <title>Аргументы</title>
29         <variablelist>
30             <varlistentry>
31                 <term>varname</term>
32                 <listitem>
33                     <para>
34                         текст: имя любой отдельной локальной переменной. Это не переменная
35                         сама по себе (это предоставляет своё содержимое), а её имя.
36                     </para>
37                 </listitem>
38             </varlistentry>
39             <varlistentry>
40                 <term>t</term>
41                 <listitem>
42                     <para>логическое значение</para>
43                 </listitem>
44             </varlistentry>
45         </variablelist>
46     </refsection>
47     <refsection>
48         <title>Описание</title>
49         <para>
50             <literal>isglobal("x")</literal> возвращает <literal>%T</literal>, если переменная
51             <varname>x</varname> определена локально и указывает на глобальную копию. В противном случае
52             она возвращает <literal>%F</literal>.
53         </para>
54         <important>
55             <itemizedlist>
56                 <listitem>
57                     Если <literal>x</literal> определена в глобальном пространстве, но не в локальном,
58                     то <literal>isglobal("x")</literal> вернёт <literal>%F</literal>
59                     (как <literal>isdef("x")</literal>).
60                 </listitem>
61                 <listitem>
62                     Если <varname>varname</varname> является текстом, не соответствующим имени какой-либо
63                     переменной, то ошибки не возникает и возвращается <literal>%F</literal>.
64                 </listitem>
65             </itemizedlist>
66         </important>
67         <note>
68             Список всех переменных, определённых в глобальном пространстве (не не обязательно в локальном)
69             может быть получен с помощью <literal>who("global")</literal>.
70         </note>
71     </refsection>
72     <refsection>
73         <title>Примеры</title>
74         <para>
75             <emphasis role="bold">Пример №1</emphasis> с предопределённой глобальной переменной:
76         </para>
77         <programlisting role="example"><![CDATA[
78 mprintf("%s\n", who("global")) // demolist содержит глобальную переменную...
79 isdef("demolist")       // %F: ... но нет локальной переменной (пока)
80 demolist(1)             // => "Переменная не определена"
81 isglobal("demolist")    // => %F, поскольку в нём нет локальных определений
82 global demolist         // Мы определяем локальный demolist и заставляем его указывать на
83                         //  существующую глобальную переменную
84 demolist($,:)           // Здесь последняя строка содержимого существующей глобальной переменной
85 isglobal("demolist")    // => теперь %T
86  ]]></programlisting>
87     <screen><![CDATA[
88 --> mprintf("%s\n", who("global")) // demolist содержит глобальную переменную...
89 %helps
90 %modalWarning
91 %toolboxes
92 %toolboxes_dir
93 demolist
94
95 --> isdef("demolist")       // %F: ... но нет локальной переменной (пока)
96  ans  =
97   F
98
99 --> demolist(1)             // => "Переменная не определена"
100 Неопределённая переменная: demolist
101
102 --> isglobal("demolist")    // => %F, поскольку в нём нет локальных определений
103  ans  =
104   F
105
106 --> global demolist   // Мы определяем локальный demolist и заставляем его указывать на
107                       //  существующую глобальную переменную
108 --> demolist($,:)     // Здесь последняя строка содержимого существующей глобальной переменной
109  ans  =
110 !Xcos  SCI\modules\xcos\demos\xcos.dem.gateway.sce  !
111
112 --> isglobal("demolist")    // => теперь %T
113  ans  =
114   T
115 ]]></screen>
116     <para>
117         <emphasis role="bold">Пример №2</emphasis> с пользовательской переменной:
118     </para>
119     <programlisting role="example"><![CDATA[
120 // В списке ниже "abc" не существует. Давайте создадим её локально и глобально:
121 global abc              // инициализируется как []
122 isdef("abc")            // => %T
123 isglobal("abc")         // => %T
124 abc = %pi;              // Записывает одновременно в локальном И глобальном пространствах
125 clear abc               // Удаляем локальное определение, но не глобальное
126 abc                     // => "неопределённая переменная"
127 isglobal("abc")         // => %F, поскольку больше нет локальных псевдонимов
128 global abc              // переопределим abc, связанную с её глобальной копией. Что это?
129 abc
130  ]]></programlisting>
131     <screen><![CDATA[
132 --> // В списке ниже "abc" не существует. Давайте создадим её локально и глобально:
133 --> global abc              // инициализируется как []
134 --> isdef("abc")            // => %T
135  ans  =
136   T
137
138 --> isglobal("abc")         // => %T
139  ans  =
140   T
141
142 --> abc = %pi;              // Записывает одновременно в локальном И глобальном пространствах
143 --> clear abc               // Удаляем локальное определение, но не глобальное
144 --> abc                     // => "неопределённая переменная"
145 Неопределённая переменная: abc
146
147 --> isglobal("abc")         // => %F, поскольку больше нет локальных псевдонимов
148  ans  =
149   F
150
151 --> global abc              // переопределим abc, связанную с её глобальной копией. Что это?
152 --> abc
153  abc  =
154    3.1415927
155 ]]></screen>
156     </refsection>
157     <refsection role="see also">
158         <title>Смотрите также</title>
159         <simplelist type="inline">
160             <member>
161                 <link linkend="global">global</link>
162             </member>
163             <member>
164                 <link linkend="clearglobal">clearglobal</link>
165             </member>
166             <member>
167                 <link linkend="who">who</link>
168             </member>
169             <member>
170                 <link linkend="isdef">isdef</link>
171             </member>
172         </simplelist>
173     </refsection>
174 </refentry>