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

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


help:organizing

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
help:organizing [2015/04/07 11:09]
186.234.196.17 j50aiIKyt5D
help:organizing [2015/04/08 00:55] (текущий)
Строка 1: Строка 1:
-This was so helpful and easy! Do you have any arteclis on rehab? http://ddyjrafxp.com [url=http://zxpuwtjj.com]zxpuwtjj[/url] [link=http://ewvxbkmhjxp.com]ewvxbkmhjxp[/link]+[[help:conditional|Назад:​ Условия]] 
 +=====Пользовательские функции и процедуры===== 
 + 
 +  * **GOSUB** ​//[$локация]//​**,​**//​[параметр 1]//​**,​**//​[параметр 2]//​**, ​...** 
 +  * **GS** //[$локация]//**,​**//​[параметр 1]//​**,​**//​[параметр 2]//​**, ​...** - обработка локации с названием //​[$локация]//.  
 +    * Основное описание и список действий локации __//​добавляются//​__ к описанию и действиям старой локации. 
 +    * Происходит выполнение операторов в поле "​Выполнить при посещении"​ 
 +    * Переданные параметры хранятся в массиве ARGS. Максимальное количество параметров - **9**((10 включая имя локации)). 
 +    * Затем продолжение выполнения программы со следующей команды после GS/GOSUB. 
 +    * **Внимание:​** Код, выполняемый по оператору ACT, считается отдельным блоком кода:<​sxh qsp> 
 +GS '​переход',​ '​локация'​ 
 + 
 +#​переход 
 +*PL $ARGS[0]  &! На экран выведется '​локация'​ 
 +ACT '​Перейти':​ 
 +  GT $ARGS[0] &! Работать не будет, т.к. массив ARGS пуст 
 +END 
 +</sxh> 
 +    * //​Примеры://<​sxh qsp> 
 +!обработка локации "​ход"​. Массив ARGS пуст. 
 +GS '​ход'​ 
 + 
 +!обработка локации с названием из переменной $loc 
 +!Передаётся один параметр - ARGS[0равен 1. 
 +GS $loc,1 
 + 
 +!обработка локации "​ход"​ с передачей 3-х параметров.  
 +! $ARGS[0] $var (значению),​ ARGS[1] = 2,  
 +! $ARGS[2] = "​данные"​. Обратите внимание на символы '​$'​. 
 +GS '​ход',​$var,​2,'​данные'​ 
 +</​sxh>​ 
 +  * **FUNC(**//​[$локация]//​**,​**//​[параметр 1]//​**,​**//​[параметр 2]//**, ...)** - обработка локации с названием //​[$локация]//​ аналогично оператору GS (GOSUB), но с возвращением значения. 
 +    * Основное описание и список действий локации __//​добавляются//​__ к описанию и действиям старой локации. 
 +    * Происходит выполнение операторов в поле "​Выполнить при посещении"​ 
 +    * Переданные параметры хранятся в массиве ARGS. Максимальное количество параметров - **9**((10 включая имя локации)). 
 +    * Результат функции равен значению //$RESULT// при возврате строкового значения или //RESULT// при возврате числового значения.  
 +    * Если при обработке локации были установлены и //RESULT//, и //​$RESULT//,​ то предпочтение отдаётся строковому значению.  
 +    * После обработки локации предыдущие значения ARGS и RESULT восстанавливаются.  
 +    * **Внимание:** при использовании в коде локации-функции операторов GS/DYNAMIC переменные RESULT и $RESULT могут перезаписываться кодом, выполняемым этими операторами. 
 +      * Исправлено в более новых версиях интерпретатора.  
 +    * //​Примеры://<​sxh qsp> 
 +!Обработка локации "​функция"​ как функции 
 +!Массив ARGS пуст.  
 +!Результат передается через $RESULT или RESULT 
 +!в зависимости от кода обрабатываемой локации. 
 +яблоки = FUNC('​функция'​) 
 + 
 +!обработка локации с названием в $name как функции. ARGS[0равен 1. 
 +PL FUNC($name, 1) * 78 
 + 
 +!обработка локации с названием в $name как функции.  
 +!$ARGS[0] содержит строку "​строка",​ ARGS[1] равен 2. 
 +MSG "​text"​ + FUNC($name, "​строка",​ 2) 
 +</sxh> 
 +  * **EXIT** - завершение выполнения текущего кода (преждевременный выход из подпрограммы / обработчика какого-либо события...). 
 +    * //​Примеры://<​sxh qsp> 
 +if args[0] = 0: exit 
 +</​sxh>​ 
 + 
 +---- 
 +[[help:​jump|Вперёд:​ Переходы внутри локации,​ циклы]]
help/organizing.txt · Последние изменения: 2015/04/08 00:55 (внешнее изменение)