NTSL Script
|
В разработке… |
| Данная статья помечена как неоконченная. Это означает, что статья находится на доработке, поэтому может быть неверна или неактуальна. Вы можете помочь проекту |
Расшифровка
NanoTrasen Scripting Language (Скриптовый Язык НаноТрейзен)
Как начать пользоваться NTSL
- Придите в отсек контроля за телекомуникациями станции(Telecommunications Control Room).
- Откройте консоль контроля за трафиком телекомуникаций (Telecommunications Traffic Control Console).
- Авторизируйтесь для получения доступа, нажав Insert ID с картой в руках.
- [Scan] для получения списка серверов.
- Нажмите на сервер с интересующим вас радиоканалом.
- [Edit Code], чтобы увидеть код сервера.
- Наберите свой код в появившееся окно.
- Save, Compile и Execute
- Закройте окно с кодом.
- Смените режим выполнения сигнала (Signal Execution) на ALWAYS.
- Поздравляю, вы прекрасны!
- Повторите шаги с 5 по 10 для каждого канала, если желаете.
Гайд по синтаксису
NTSL несложен, так как был создан для пользователей всех уровней умения программирования. Пробелы игнорируются, точки с запятой требуются и квадратные скобки также требуются.
Переменные
Переменные нужны для временного хранения данных для дальнейшего использования в коде. Для создания переменной используйте следующий синтаксис:
$myVariable = 5; // "$" позволяет компилятору идентифицировать переменную.
Вы можете назначить переменной текстовое значение (строку).
$myVariable = "Hello world!";
Функции
Функции могут быть заданы динамично. Есть разные предопределённые функции для реализации цели на NTSL, но базовые функции остаются такими же. Вот пример, как Вы можете использовать функцию:
$myVariable = getNumber();
В этом примере переменной "$myVariable" назначаем значение, которое вернула функция "getNumber()". Каждая функция возвращает значение, даже если возвращаемое значение не определено. Вот еще несколько примеров вызова функции:
broadcast($myVariable);
broadcast("Hello world!");
broadcast("Griffing assistants in T-minus " + $myVariable + " seconds.");
Также вы можете определить свою функцию используя def:
def getNumber() {
return 5; // Функция getNumber() всегда будет возвращать число 5.
}
Code Blocks
Блоки кода вызываются, когда часть кода запрашивает вызов кода ещё раз. Переменные, указанные в одном и том же блоке кода не могут быть использованы в других блоках кода, не имеющих отношений к исходному. Например:
$myGlobalVariable = getNumber();
while($myGlobalVariable != 0) {
$myLocalVariable = 0;
$myGlobalVariable = $myLocalVariable;
}
$myLocalVariable = 50; // Это неверно; myLocalVariable не существует в этом блоке
Как только будет обработана закрывающая квадратная скобка, все переменные будут уничтожены. Следовательно, вы не сможете использовать какие - либо переменные вне того блока кода, где они указаны.
Операторы условия (тупая мразь)
Процедура while() будет обрабатываться снова и снова до тех пор, пока указанное в ней равенство / неравенство не будет верно. Оператор != обозначает "неверно".
Список операторов сравнения:
- == : Равно
- != : Не равно
- < : Меньше чем
- > : Больше чем
- <= : Меньше чем или равно
- >= : Больше чем или равно
Также могут быть использованы операторы if() (если), elseif() (также если) и else() (иначе). Пример:
if($myVariableNumber == 50) // Если число равно пятидесяти.
{
// Блок кода
}
elseif($myVariableNumber <= 30) // Если число не равно пятидесяти, но меньше или равно тридцати.
{
// Блок кода
}
else // Если ни одно из условий не верно.
{
// code block
}
Синтаксические особенности
Операторные скобки - "{" и "}"
Знак присваивания - "="
Отступы игнорируются, на конце каждой строки требуется ";"
Для объявления переменной не требуется никаких ключевых слов, ей может быть любое не зарезервированное ранее слово, поддерживается принцип области применения (т.е. принцип локальных переменных)
Пример кода:
myVariable = 12345;
if ( myVariable == 12345 )
{
qwerty = 1;
qwerty = qwerty + 1;
}
else {
myVariable = 1;
}
Типы данных
Используются три типа: число, вектор и строка, приблизительно соответствующие типам double, vector и string в C++. А именно:
- Число хранится в виде a*b^n, но может быть использовано и как целое.
- Вектор - массив с переменной длиной, в его ячейках могут храниться любые типы.
- Строка - набор символов. Пустая строка используется в качестве null.
Тип переменной объявлять не нужно. По умолчанию любая переменная, которой не было присвоено значение, содержит пустую строку. Тип переменной не фиксирован, одной и той же переменной можно присваивать значения разных типов.
Операторы
Бинарные
| Использование | Использование |
|---|---|
| X == Y | Вернёт TRUE если X = Y |
| X != Y | Вернёт TRUE если X =/= Y |
| X > Y | Вернёт TRUE если X больше Y |
| X < Y | Вернёт TRUE если Х меньше Y |
| X >= Y | Вернёт TRUE если X больше или равен Y |
| X <= Y | Вернёт TRUE если X меньше или равен Y |
| X && Y | Вернёт TRUE если X и Y равны TRUE |
| X || Y | Вернёт TRUE если X, Y, или они оба равны TRUE |
| X + Y | Вернёт сумму X и Y |
| X - Y | Вернёт разность X и Y |
| X * Y | Вернёт произведение X и Y |
| X / Y | Вернёт частное X и Y |
| X^Y | Вернёт X в степени Y |
| X%Y | Вернёт остаток X / Y |
| Название | Использование | Возвращаемый результат |
|---|---|---|
| Битное И | X & Y | 101 |
| Битное ИЛИ | X | Y | 111 |
