Sb forum speech.png DiscordLink.png FacebookLink.png RedditLink.png SteamLink.png TwitterLink.png YoutubeLink.png

Difference between revisions of "YOLOL:ru"

From Starbase wiki
Jump to navigation Jump to search
("Русифицирован" текст (вместо дословного), добавлены уточняющие скобки где это необходимо. Форматировано к одному виду.)
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Otherlang2
{{Otherlang2
|en=YOLOL
|en=YOLOL
|de=YOLOL:de
|fr=YOLOL:fr
|ru=YOLOL:ru
|ua=YOLOL:ua
|jp=YOLOL:jp
|zh-cn=YOLOL语言
}}
}}
== Кратко ==
== Кратко ==
YOLOL - это язык программирования, который используется для контроля и управления [[Устройства и механизмы | электрическими устройствами]] в игре.<br>
YOLOL - это язык программирования, который используется для контроля и управления [[Устройства и механизмы | электрическими устройствами]] в игре.<br>
  Код пишется на строках на [[Чип YOLOL | YOLOL-чипа]], которые впоследствии вставляются в [[Модульная стойка для чипов | модульные стойки для чипов]] (или Сокет).<br>
  Код пишется на строках в [[Чип YOLOL | чипах YOLOL]], которые впоследствии вставляются в [[Модульная стойка для чипов | модульные стойки для чипов (Сокет)]].<br>
  [[Сокет | Сокет]]  читает и передает сообщения из кода в сеть (систему) корабля.
  [[Разъём | Сокет]]  читает и передает сообщения из кода в сеть (систему) корабля.


== Базовая информация ==
== Базовая информация ==
Line 88: Line 81:
** '''variableName''' - настроенный идентификатор поля устройства.
** '''variableName''' - настроенный идентификатор поля устройства.
Префикс двоеточия ''':''' используется для идентификации переменной в качестве внешней, в отличие от переменной, которая может быть объявлена и использована в самом коде.<br>
Префикс двоеточия ''':''' используется для идентификации переменной в качестве внешней, в отличие от переменной, которая может быть объявлена и использована в самом коде.<br>
[[Чип_YOLOL | Чип]], подключенный к [[Устройства и механизмы | устройству]] (стойке для чипов), имеет доступ ко всем устройствам в [[Информационная сеть | данной сети]], что предоставляет доступ к изменению или получению значений любых данных для устройств в ней.<br>
[[Чип_YOLOL | Чип]], подключенный к [[Устройства и механизмы | устройству]] (модульной стойке), имеет доступ ко всем устройствам в [[Информационная сеть | данной сети]], что предоставляет доступ к изменению или получению значений любых данных для устройств в ней.<br>


if :ButtonState == 1 then :DoorState = 1 end
if :ButtonState == 1 then :DoorState = 1 end
Line 156: Line 149:
== Логические операторы ==
== Логические операторы ==
Логические операторы проверяют, является ли утверждение истиной или ложью. <br>
Логические операторы проверяют, является ли утверждение истиной или ложью. <br>
Все логические операторы возвращают либо '''"0 как False"''', либо '''"1 как True"'''
Все логические операторы возвращают либо '''"0 для False"''', либо '''"1 для True"'''
Также можно использовать арифметические аналоги: '+' вместо 'ИЛИ' и '*' вместо 'И'.
Примеры:<br>
'A+B' равнозначно 'A OR B'<br>
'A*B' равнозначно 'A AND B'


{| class="wikitable"
{| class="wikitable"
|-
|-
! Оператор || Операции с числами || Операции со строками
! Оператор || Нумерной оператор || Стройчный оператор
|-
| A < B || Меньше чем || Возвращает 1, если строка A является первой в алфавитном порядке, возвращает 0, если нет.
|-
| A > B || Больше чем || Возвращает 0, если строка A является первой в алфавитном порядке, возвращает 1, если нет.
|-
| A <= B || Меньше или равно || Возвращает 1, если строка A является первой в алфавитном порядке или идентично строке B, возвращает 0, если нет.
|-
|-
| A >= B || Больше или равно || Возвращает 0, если строка A является первой в алфавитном порядке или идентично строке B, возвращает 1, если нет.
| A < B || Less than || возвращает 1, если строка A является первой в алфавитном порядке, возвращает 0, если нет.
|-
|-
| A != B || Не равно || Возвращает 1, если строка A не равна строке B, 0, если она есть.
| A > B || Greater than || возвращает 0, если строка A является первой в алфавитном порядке, возвращает 1, если нет.
|-
|-
| A == B || Равно || Возвращает 1, если строка A равна строке B, 0, если нет.
| A <= B ||Less than or equal to || возвращает 1, если строка A является первой в алфавитном порядке или идентична строке B, возвращает 0, если нет.
|-
|-
| NOT A || Не || Возвращает 1, если A не равна 1. Возвращает 0, если равна.
| A >= B || Greater than or equal to || возвращает 0, если строка A является первой в алфавитном порядке или идентична строке B, возвращает 1, если нет.
|-
|-
| A AND B || И || Возвращает 1, если A и B равны 1. Возвращает 0, если не равны.
| A != B || Not equal to || возвращает 1, если строка A не равна строке B, 0, если она есть.
|-
|-
| A OR B || Или || Возвращает 1, если A или B равны 1. Возвращает 0, если оба не равны.
| A == B || Equal to || возвращает 1, если строка A равна строке B, 0, если нет.
|}
|}
=== Смешивание типов переменных в операциях ===
=== Смешивание типов переменных в операциях ===
При использовании смешанных типов переменных, операция обрабатывается используя все параметры как тип «строка».
Смешивание типов переменных в операции обрабатывает операцию, используя все параметры как «строки».




  previouslyNumber = "10" + 15
  previouslyNumber = "10" + 15
* Данный скрипт приводит к тому, что переменная ''' previouslyNumber ''' получает строковое значение «1015».
* Приведенный выше скрипт приводит к '' 'previousNumber' '', содержащему строковое значение «1015».
** Обратите внимание, что сами используемые параметры не меняют типы, их значения просто приводятся в виде строк для выполнения операции:
** Обратите внимание, что сами используемые параметры не меняют типы, их значения просто приводятся в виде строк для цели операции:


   
   
  purelyNumber = 15
  purelyNumber = 15
  purelyString = "10" + purelyNumber
  purelyString = "10" + purelyNumber
* После того, как этот скрипт выполнится, ''' purelyString ''' будет содержать строковое значение '''1015''', однако значение переменной ''' purelyNumber ''' будет всё ещё равно числовому значению 15.
* Когда этот сценарий выполнен, ''' purelyString ''' содержит строковое значение "1015", в то время как ''' purelyNumber'''все еще содержит числовое значение 15.


=== Goto ===
=== Goto ===
Команда используется, когда в обычном порядке чтения скрипта с 1 по 20 строку требуется переход на другую строку.<br>
Команда используется, когда обычный порядок чтения кода с 1 по 20 строку не желателен или требует изменений на определенном этапе.
Как использовать '''goto''':
Как использовать goto:
* '''goto lineNumber'''
*'''goto lineNumber'''
** '''lineNumber''' - номер линии скрипта, на которую перейдёт выполнение.
** lineNumber - строка, которую команда выполнит при выполнении скрипта. <br>
** В случае выполнения команды '''goto''', любой оставшийся на той же линии скрипт выполнен '''не''' будет.
** Любой оставшийся скрипт, который находится в той же строке после команды goto, не будет выполнен.
*** При использовании '''goto''' внутри условия ''if'', в случае, если логическое выражение в условии будет '''False''', то команда '''goto''' не выполнится.
*** использование операторов if перед goto игнорирует синтаксис goto, предполагая, что оператор if равен false
** Несколько команд '''goto''' могут быть использованы на одной линии, если находятся в условиях ''if''.
** Несколько команд goto могут быть добавлены в одну строку с помощью условных выражений, так как '''False''' команды goto пропускаются.


  if variable == 5 then '''goto 4''' end '''goto 6'''
  if variable == 5 then '''goto 4''' end '''goto 6'''
Скрипт, приведённый выше, перейдёт на линию 4, если значение '''variable''' равно 5. <br>
Сценарий, приведенный выше, перейдет к строке 4, если значение '''переменной''' равно 5. <br>
В противном случае он перейдёт на линию номер 6.
В противном случае он перейдет к строке № 6.


=== Условный оператор If-Else ===
=== Операторы If-Else ===
Условный оператор if-else используется для проверки логического выражения и выполнения скрипта в зависимости от истинности этого выражения.<br>
Операторы if-else используются для разветвления кода по разным путям в зависимости от того, выполняются ли те или иные условия.<br>
Условный оператор используется в следующем виде:
Они используют следующий синтаксис:
* '''if ''условие'' then ''действие'' else ''действие'' end'''
* '''If ''условие'' then ''действие'' else ''действие'' end'''
** Условие - это логическое утверждение, результатом которого является численное значение (где 0 обозначает False, а все остальные значения - True).
** Условие - это логическое утверждение, результатом которого является численное значение (где 0 обозначает False, а все остальные значения - True).
** Действие - скрипт, выполняемый в зависимости от истинности условия.
** Действия, выполняемые в результате проверки условия, являются фрагментами кода. Все операторы  if-else должны иметь end в конце.  
** Все условия if-else должны иметь end в конце.


'''If''' можно использовать для разделения выполнения скрипта на два возможных результата на основе значения переменной '''variable'''. <br>
Можно использовать для временного разделения выполнения скрипта на два возможных результата на основе значений переменной. <br>
'''Пример:'''<br>
'''Пример:'''<br>
  '''if''' variable != 2 '''then''' endResult = 3 '''else''' endResult = 4 '''end'''
  '''if''' variable != 2 '''then''' endResult = 3 '''else''' endResult = 4 '''end'''


* Этот скрипт устанавливает значение 3 переменной '''endResult''', если значение '''variable''' не равно 2.
* Этот скрипт устанавливает значение '''endResult''' в 3, если '''variable''' не имеет значения 2.
* Если значение переменной '''variable''' равно 2, для переменной '''endResult''' устанавливается значение 4.
* Если значение '''variable'''' равно 2, для '''endResult''' установлено значение 4.


Обратите внимание, что блок '''else''' можно пропустить, если он не нужен. <br>
Обратите внимание, что оператор else -part можно пропустить, если он не нужен. <br>
'''Пример:''' <br>
'''Пример:''' <br>
   '''if''' variable != 2 '''then''' endResult = 3 '''end'''
   '''if''' variable != 2 '''then''' endResult = 3 '''end'''
* Этот скрипт устанавливает значение '''3''' для переменной '''endResult''', если '''variable''' не имеет значения 2 и больше ничего не делает.
* Этот скрипт устанавливает значение «3» только в «endResult», если «переменная» не имеет значения 2 и больше ничего не делает.
==== Вложение условий if ====
==== Вложение IF условий ====
Можно поместить условные операторы внутри результатов true / false другого условного оператора, чтобы добиться дальнейшего ветвления выполнения. <br>
Можно поместить условные операторы внутри блоков операторов true / false, чтобы добиться дальнейшего ветвления выполнения. <br>
'''Пример:''' <br>
'''Пример:''' <br>
  '''if''' variable == 0 '''then''' endResult = 1 '''else''' '''if''' variable == 1 '''then''' endResult = 2 '''end end'''  
  '''if''' variable == 0 '''then''' endResult = 1 '''else''' '''if''' variable == 1 '''then''' endResult = 2 '''end end'''  
* Этот скрипт устанавливает значение 1 переменной '''endResult''', если '''variable''' равно 0.
* Этот скрипт устанавливает '''endResult''' в 1, если '''variable''' равно 0.
* Если '''variable''' не равно 0, но равно 1, то '''endResult''' устанавливается значение 2.
* Если '''variable''' не равно 0, но равно 1, '''endResult''' устанавливается в 2.


'''Пример:''' <br>
'''Пример:''' <br>
   '''if''' variable == 0 '''then''' '''if''' endResult == 1 '''then''' endResult = 2 '''end''' '''else''' endResult = 1 '''end'''
   '''if''' variable == 0 '''then''' '''if''' endResult == 1 '''then''' endResult = 2 '''end''' '''else''' endResult = 1 '''end'''
* Этот скрипт устанавливает '''endResult''' значение 2, если '''variable''' имеет значение 0, а '''endResult''' равно 1.
* Этот скрипт устанавливает '''endResult''' в 2, если '''variable''' имеет значение 0, а '''endResult''' равно 1.
* В противном случае он устанавливает '''endResult''' значение 1.
* В противном случае он устанавливает '''endResult''' в 1.


Обратите внимание, что проще спланировать и отладить поток скрипта, отформатировав сценарий, содержащий вложенные операторы '''if''', в более аккуратную форму с отступами и переносами. <br>
Обратите внимание, что проще спланировать и отладить поток сценариев, отформатировав сценарий, содержащий вложенные операторы if, в более аккуратную форму с отступами. <br>
Однако написание подобного скрипта не будет работать на [[Чип_YOLOL  | чипе]], но это может быть полезно при отладке скриптов.
Также обратите внимание, что написание подобного скрипта не будет работать на [[Чип_YOLOL  | чипе]], но это может быть полезно при отладке скриптов.


Форматированный второй пример вложенного '''if''':
Это второй вложенный пример в формате:


  '''if''' variable == 0 '''then'''
  '''if''' variable == 0 '''then'''
     '''if''' endResult == 1 '''then'''
     '''if''' otherVariable == 1 '''then'''
         endResult = 2
         otherVariable = 2
     '''end'''
     '''end'''
  '''else'''
  '''else'''
     endResult = 1
     otherVariable = 1
  '''end'''
  '''end'''


=== Комментарии ===
=== Комментарии ===
Комментарии полезны при написании скрипта, который используется несколькими программистами. <br>
Комментарии полезны при написании кода, который используется многими программистами. <br>
Обратите внимание, что комментарии также занимают пространство из предопределённого предела линии скрипта в 70 символов и не исключаются из него. <br>
Обратите внимание, что комментарии также занимают пространство из предопределенного предела строки в 70 символов и не исключаются из него. <br>


Комментирование используется со следующим синтаксисом:
Комментирование используется со следующим синтаксисом:
* // '''Текст'''
* // '''Текст'''
** '''Текст''' может быть любым однострочным набором символов.
** Текст может быть любым однострочным набором символов.


  '''//''' Это комментарий. Он объяснит, как работают другие строки скрипта.
  '''//''' Это комментарий. Он объяснит, как работают другие строки скрипта.
* Пример возможного синтаксиса комментариев.
* Пример возможного синтаксиса комментариев


== Ошибки ==
== Ошибки ==

Revision as of 04:27, 11 February 2020

English

Кратко

YOLOL - это язык программирования, который используется для контроля и управления электрическими устройствами в игре.

Код пишется на строках в  чипах YOLOL, которые впоследствии вставляются в  модульные стойки для чипов (Сокет).
Сокет читает и передает сообщения из кода в сеть (систему) корабля.

Базовая информация

Как работает YOLOL?

Код пишется и выполняется на программируемом чипе и может использоваться, как для мониторинга, так и управления устройствами, соединенных в сеть передачи данных.
Строки кода длиной максимум в 70 символов выполняются в последовательности сверху вниз, повторяя цикл чипа после выполнения последней строки, если только код не содержит инструкций для перенаправления на конкретную строку или полной остановки выполнения.

А если простыми словами:

  1. Выполнение кода начинается с первой строки
  2. После прочтения первой строки чип переходит к следующей строке на основе интервала времени чипа(то есть задержки выполнения каждой строки, составляющей на данный момент 0.2 секунды)
  3. Затем процесс повторяется для 2й, 3й, 4й строки и так далее
  4. Чип снова начнет выполнять 1 строку после того, как была выполнена последняя строка(Если конечно же код не содержит инструкций для перенаправления на конкретную строку или полной остановки)

Связанные страницы

Ссылки на команды

Без учета регистра

Код YOLOL полностью Нечувствителен к регистру. Это означает, что следующие два примера работают идентично друг другу.

if ButtonState == 1 then DoorState = 1 end
IF buttonstate == 1 THEN doorstate = 1 END
  • Оба сценария устанавливают doorState в 1, если значение buttonState равно 1.
  • Символы на языке программирования могут быть написаны как строчными, так и прописными буквами.
    • Они анализируются как нечувствительные к регистру.
    • Таким образом, код может выглядеть более организованным.

Переменные

  • Переменные в YOLOL слабо типизированы (то есть не требуют проверки правильности типа) и поддерживают два типа данных: десятичные числа с фиксированной запятой (с точностью до 0.001), а также строки.
    • Проще говоря, переменные могут быть введены в виде строк или чисел, игнорируя более ранний тип переменной, если предыдущий тип не идентичен, без возникновения ошибки.
  • Каждая переменная всегда имеет один тип, хотя она будет неявно преобразована при необходимости.
  • Значение по умолчанию для неинициализированной переменной равно 0, а нулевые значения не поддерживаются.
  • True и False идентичны значениям "не ноль" и "ноль", соответственно.
    • True != 0
    • False == 0

Присвоение значения переменной всегда преобразует переменную в тип присваиваемого значения.

Пример:

ultimateAutopilot = 128.643
  • Это приводит к переменной ultimateAutopilot, содержащей числовое значение 128,643


ultimateAutopilot = "Error prone"
  • Это приводит к тому, что переменная ultimateAutopilot является строковой переменной Склонность к ошибкам, и числовое значение 128,643 удаляется.

Десятичные числа

Числовые значения в языке программирования - это 64-разрядные десятичные числа с фиксированной запятой.
Переменные содержат десятичные числа с точностью до трех знаков после запятой.
В результате максимальный диапазон значений (даже во время операций) составляет [-9223372036854775.808, 9223372036854775.807]

pieVariable = 3.142
  • Приведенный выше скрипт присваивает числовое значение 3,142 переменной pieVariable.
    • Предоставление более точных значений, чем переменные могут хранить работы, но не влияет на конечный результат.

notPieVariable = 0.5772156649

  • Приведенный выше скрипт пытается присвоить числовое значение 0,5772156649 переменной notPieVariable.
  • Однако конечный результат notPieVariable == 0,577
    • Здесь сокращаются более точные значения, оставляя только три знака после запятой.

Строки

Чтобы указать строковый литерал на языке программирования, нужное строковое значение должно быть заключено в двойные кавычки.

 badRobots = "saltberia"
  • Этот сценарий присваивает строковое значение " saltberia " переменной badRobots.

Поля устройств / Внешние переменные

Внешние переменные и поля устройства могут использоваться в языке программирования со следующим синтаксисом:

  • : variableName
    • variableName - настроенный идентификатор поля устройства.

Префикс двоеточия : используется для идентификации переменной в качестве внешней, в отличие от переменной, которая может быть объявлена и использована в самом коде.
Чип, подключенный к устройству (модульной стойке), имеет доступ ко всем устройствам в данной сети, что предоставляет доступ к изменению или получению значений любых данных для устройств в ней.

if :ButtonState == 1 then :DoorState = 1 end

  • Этот код отправит значение 1 любому устройству, прослушивающему поле DoorState, если значение ButtonState равно 1 в сети передачи данных.

Операторы и команды

Доступные операторы ограничены типом (другими словами - уровнем) программируемого чипа.
Базовые чипы имеют ограниченный набор функций, в то время, как более продвинутые могут выполнять более сложные операции.

Основные арифметические и операторы присваивания

Оператор Операции с числами Операции со строками
A + B Сложение К строке A добавляется строка B.
A - B Вычитание Последнее совпадение строки B в строке A удаляется из строки A.
A * B Умножение Ошибка выполнения. Остаток кода на текущей линии пропускается.
A / B Деление Ошибка выполнения. Остаток кода на текущей линии пропускается.
A ++ Постинкрементация (A=A+1) Добавляет пробел к строке А. Возвращает исходное значение (До добавления).
A -- Постдекрементация (A=A-1) Удаляет последний символ строки. Приводит к ошибке при попытке удалить "". Возвращает исходное значение (До удаления).
++ A Преинкрементация (A=A+1) Добавляет пробел к строке А. Возвращает получившееся значение.
-- A Предекрементация (A=A-1) Удаляет последний символ строки. Приводит к ошибке при попытке удалить "". Возвращает получившееся значение.
A = B Присваивание (Переменной A присваивается значение переменной B) Присваивание
A += B Присваивание сложения (A=A+B) Строке A присваивается значение операции A+B.
A -= B Присваивание вычитания (A=A-B) Строке A присваивается значение операции A-B.
A *= B Присваивание умножения (A=A*B) Ошибка выполнения. Остаток кода на текущей линии пропускается.
A /= B Присваивание деления (A=A/B) Ошибка выполнения. Остаток кода на текущей линии пропускается.
A %= B Присваивание остатка от деления (A=A%B) Ошибка выполнения. Остаток кода на текущей линии пропускается.
A ^ B Возведение в степень Ошибка выполнения. Остаток кода на текущей линии пропускается.
A % B Остаток от деления Ошибка выполнения. Остаток кода на текущей линии пропускается.
ABS A Остаток от деления (абсолютное значение) (A=A if A>=0, else A=-A) Ошибка выполнения. Остаток кода на текущей линии пропускается.
A! Факториал Ошибка выполнения. Остаток кода на текущей линии пропускается.
SQRT A Корень квадратный из A Ошибка выполнения. Остаток кода на текущей линии пропускается.
SIN A Синус A (в градусах) Ошибка выполнения. Остаток кода на текущей линии пропускается.
COS A Косинус A (в градусах) Ошибка выполнения. Остаток кода на текущей линии пропускается.
TAN A Тангенс A (в градусах) Ошибка выполнения. Остаток кода на текущей линии пропускается.
ASIN A Арксинус A (в градусах) Ошибка выполнения. Остаток кода на текущей линии пропускается.
ACOS A Арккосинус A (в градусах) Ошибка выполнения. Остаток кода на текущей линии пропускается.
ATAN A Арктангенс A (в градусах) Ошибка выполнения. Остаток кода на текущей линии пропускается.

Логические операторы

Логические операторы проверяют, является ли утверждение истиной или ложью.
Все логические операторы возвращают либо "0 для False", либо "1 для True"

Оператор Нумерной оператор Стройчный оператор
A < B Less than возвращает 1, если строка A является первой в алфавитном порядке, возвращает 0, если нет.
A > B Greater than возвращает 0, если строка A является первой в алфавитном порядке, возвращает 1, если нет.
A <= B Less than or equal to возвращает 1, если строка A является первой в алфавитном порядке или идентична строке B, возвращает 0, если нет.
A >= B Greater than or equal to возвращает 0, если строка A является первой в алфавитном порядке или идентична строке B, возвращает 1, если нет.
A != B Not equal to возвращает 1, если строка A не равна строке B, 0, если она есть.
A == B Equal to возвращает 1, если строка A равна строке B, 0, если нет.

Смешивание типов переменных в операциях

Смешивание типов переменных в операции обрабатывает операцию, используя все параметры как «строки».


previouslyNumber = "10" + 15
  • Приведенный выше скрипт приводит к 'previousNumber' , содержащему строковое значение «1015».
    • Обратите внимание, что сами используемые параметры не меняют типы, их значения просто приводятся в виде строк для цели операции:


purelyNumber = 15
purelyString = "10" + purelyNumber
  • Когда этот сценарий выполнен, purelyString содержит строковое значение "1015", в то время как purelyNumberвсе еще содержит числовое значение 15.

Goto

Команда используется, когда обычный порядок чтения кода с 1 по 20 строку не желателен или требует изменений на определенном этапе. Как использовать goto:

  • goto lineNumber
    • lineNumber - строка, которую команда выполнит при выполнении скрипта.
    • Любой оставшийся скрипт, который находится в той же строке после команды goto, не будет выполнен.
      • использование операторов if перед goto игнорирует синтаксис goto, предполагая, что оператор if равен false
    • Несколько команд goto могут быть добавлены в одну строку с помощью условных выражений, так как False команды goto пропускаются.
if variable == 5 then goto 4 end goto 6

Сценарий, приведенный выше, перейдет к строке 4, если значение переменной равно 5.
В противном случае он перейдет к строке № 6.

Операторы If-Else

Операторы if-else используются для разветвления кода по разным путям в зависимости от того, выполняются ли те или иные условия.
Они используют следующий синтаксис:

  • If условие then действие else действие end
    • Условие - это логическое утверждение, результатом которого является численное значение (где 0 обозначает False, а все остальные значения - True).
    • Действия, выполняемые в результате проверки условия, являются фрагментами кода. Все операторы if-else должны иметь end в конце.

Можно использовать для временного разделения выполнения скрипта на два возможных результата на основе значений переменной.
Пример:

if variable != 2 then endResult = 3 else endResult = 4 end
  • Этот скрипт устанавливает значение endResult в 3, если variable не имеет значения 2.
  • Если значение variable' равно 2, для endResult установлено значение 4.

Обратите внимание, что оператор else -part можно пропустить, если он не нужен.
Пример:

 if variable != 2 then endResult = 3 end
  • Этот скрипт устанавливает значение «3» только в «endResult», если «переменная» не имеет значения 2 и больше ничего не делает.

Вложение IF условий

Можно поместить условные операторы внутри блоков операторов true / false, чтобы добиться дальнейшего ветвления выполнения.
Пример:

if variable == 0 then endResult = 1 else if variable == 1 then endResult = 2 end end 
  • Этот скрипт устанавливает endResult в 1, если variable равно 0.
  • Если variable не равно 0, но равно 1, endResult устанавливается в 2.

Пример:

 if variable == 0 then if endResult == 1 then endResult = 2 end else endResult = 1 end
  • Этот скрипт устанавливает endResult в 2, если variable имеет значение 0, а endResult равно 1.
  • В противном случае он устанавливает endResult в 1.

Обратите внимание, что проще спланировать и отладить поток сценариев, отформатировав сценарий, содержащий вложенные операторы if, в более аккуратную форму с отступами.
Также обратите внимание, что написание подобного скрипта не будет работать на чипе, но это может быть полезно при отладке скриптов.

Это второй вложенный пример в формате:

if variable == 0 then
    if otherVariable == 1 then
        otherVariable = 2
    end
else
    otherVariable = 1
end

Комментарии

Комментарии полезны при написании кода, который используется многими программистами.
Обратите внимание, что комментарии также занимают пространство из предопределенного предела строки в 70 символов и не исключаются из него.

Комментирование используется со следующим синтаксисом:

  • // Текст
    • Текст может быть любым однострочным набором символов.
// Это комментарий. Он объяснит, как работают другие строки скрипта.
  • Пример возможного синтаксиса комментариев

Ошибки

Существует два типа ошибок, которые могут возникнуть с языком программирования.

  1. Синтаксические ошибки
  2. Ошибки во время выполнения
  • Синтаксические ошибки происходят из-за неверного и не разбираемого скрипта и приводят к тому, что вся строка не выполняется.
  • Ошибки во время выполнения можно отследить только во время выполнения скрипта. Они приводят к прерыванию выполнения строки, но влияют до тех пор, пока ошибка не останется.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.