Инструменты пользователя

Инструменты сайта


help:variables

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:variables [2024/10/14 07:35]
aleks_versus проба обновления до 5.9.0
help:variables [2025/10/05 07:48] (текущий)
aleks_versus [Локальные переменные]
Строка 283: Строка 283:
  
 О функции **''​ARRSIZE''​** так же можно подробнее почитать в разделе [[help:​arrays|"​Массивы"​]]. О функции **''​ARRSIZE''​** так же можно подробнее почитать в разделе [[help:​arrays|"​Массивы"​]].
 +
 +===== Получение значений из переменных =====
 +
 +Чтобы получить значение переменной,​ достаточно написать её имя в выражении.
 +
 +При этом, чтобы получить кортеж,​ нужно поставить перед именем переменной ''​%'',​ а чтобы получить строковое значение,​ нужно поставить перед именем переменной ''​$''​.
 +
 +Примеры:​
 +
 +<sxh qsp>
 +! присваиваем значение одной переменной - другой
 +num = int & ! выражение здесь состоит из одной переменной
 +! выводим значение переменной на экран
 +*pl $text &! выражение состоит из одной переменной
 +! вычисляем куб числа, записанного в переменную и выводим на экран
 +d * d * d &! выражение состоит из двух операций умножения
 +</​sxh>​
 +
 +**Важно!** Если мы пытаемся получить значение переменной,​ которая не была создана,​ то такая переменная вернёт значение по умолчанию:​
 +  * для числовых переменных значение по умолчанию ''​0''​ (ноль);
 +  * для текстовых переменных значение по умолчанию ''""''​ (пустая строка);​
 +  * для кортежей значение по умолчанию ''​%%[]%%''​ (пустой кортеж).
  
 ===== Локальные переменные ===== ===== Локальные переменные =====
Строка 334: Строка 356:
   gosub '​foo'​   gosub '​foo'​
   *nl i & ! на экране увидим число 99   *nl i & ! на экране увидим число 99
-- start -+-- start -
  
 # foo # foo
Строка 347: Строка 369:
   end   end
   *nl i & ! на экране увидим число 10   *nl i & ! на экране увидим число 10
-- foo -+-- foo -
  
 # undo # undo
Строка 355: Строка 377:
   i+=1 & ! увеличиваем значение переменной,​ влияя на значение в foo   i+=1 & ! увеличиваем значение переменной,​ влияя на значение в foo
   *p '​undo:<<​i>>,​ ' & ! на экране появятся числа 1,3,5,7,9 с припиской undo:   *p '​undo:<<​i>>,​ ' & ! на экране появятся числа 1,3,5,7,9 с припиской undo:
-- undo -+-- undo -
 </​sxh>​ </​sxh>​
  
-**Однако!** Значения локальных переменных не транслируются в действия (в отличие от значений массива **''​ARGS''​** на текущей локации):​+**Однако!** Значения локальных переменных не транслируются в действия ​и гиперссылки ​(в отличие от значений массива **''​ARGS''​** на текущей локации):​
  
 <sxh qsp> <sxh qsp>
Строка 371: Строка 393:
 </​sxh>​ </​sxh>​
  
-!!! TODO: ЗДЕСЬ НУЖНО УТОЧНИТЬ ИНФОРМАЦИЮ ПО ПОВЕДЕНИЮ ЛОКАЛЬНЫХ ​ПЕРЕМЕННЫХ В ОБРАБОТЧИКАХ СОБЫТИЙ ### Примеры назначения локальных переменных+**Важно.** ​Значения локальных переменных не передаются в локации-обработчики событий,​ однако передаются на локации-обработчики пунктов меню. Будьте внимательны. 
 + 
 +**Ещё одна ​ОЧЕНЬ ​важная особенность!** ​При объявлении локальной переменной вы можете присвоить ей значение глобальной переменной,​ или локальной переменной объявленной в предыдущем блоке кода. Пример кода, который последовательно выведет числа 200, 113, 99: 
 + 
 +<sxh qsp> 
 +start 
 + 
 +a = 99 
 +@foo 
 +*pl a &! на экране появится 99 
 + 
 +-- start 
 + 
 +foo 
 + 
 +! здесь в выражение подставится  
 +! значение переменной a из локации start: 
 +local a = a + 14 &! 99+14 
 + 
 +dynamic { 
 +  ! теперь в выражении используется 
 +  ! значение a из локации foo 
 +  local a = a + 87 
 +  *pl a &! 200 
 +
 + 
 +! на экран выведется 113: 
 +*pl a 
 + 
 +-- foo 
 +</​sxh>​ 
 + 
 +==== Примеры назначения локальных переменных ​====
  
 Две локации,​ на каждой из которых собственная переменная **''​i''​**:​ Две локации,​ на каждой из которых собственная переменная **''​i''​**:​
help/variables.1728891307.txt.gz · Последние изменения: 2024/10/14 07:35 — aleks_versus