64 lines
7.2 KiB
Plaintext
64 lines
7.2 KiB
Plaintext
Мне было лень изучать жабаскрып, потому всего за полгода я сделал вот этот dtscript (как выразился Абикак, "питоний джабаскрып").
|
||
Синтаксис dtscript не завист от пробелов, табов, переносов строк. Конец одной конструкции определяется по символу ';' или '}' (если перед этим был символ '{')
|
||
|
||
|
||
========================================[переменные]========================================
|
||
|
||
объявление переменной и присвоение значения синтаксически никак не отличаются:
|
||
тип(имя = значение);
|
||
|
||
у переменных есть контекст:
|
||
bool(h=false);
|
||
if (...)
|
||
{
|
||
bool(j=true);
|
||
Log("w", h); выведет true, так как есть доступ к переменным предыдущих уровней
|
||
}
|
||
Log("w", j); выдаст ошибку "KeyNotFoundException", так как вызывается с предшествующего объявлению переменной уровня
|
||
|
||
┌────────┬────────────────┬───────────┬───────────────────┐
|
||
│ тип │ аналог в c# │ операции │ пример │
|
||
├────────┼────────────────┼───────────┼───────────────────┤
|
||
│ bool │ System.Boolean │ <,>,==,!= │ bool(a=1<3); │
|
||
├────────┼────────────────┼───────────┼───────────────────┤
|
||
│ num │ System.Double │ +,-,*,/ │ num(a=9.6); │
|
||
├────────┼────────────────┼───────────┼───────────────────┤
|
||
│ string │ System.String │ + │ string(a="text"); │
|
||
└────────┴────────────────┴───────────┴───────────────────┘
|
||
|
||
|
||
==========================================[методы]==========================================
|
||
|
||
Oбъявлять свои методы пока что нельзя, можно только использовать встроенные:
|
||
метод; если нет параметров
|
||
Метод(параметр0, параметр1...); параметрами могут быть значения и переменные, но не выражения
|
||
|
||
┌───────────────────────────┬─────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────┐
|
||
│ метод │ аналог в с# │ шо делает │
|
||
├───────────────────────────┼─────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤
|
||
│ pause │ System.Console.ReadKey() │ приостанавливает выполнение скрипта до нажатия клавиши │
|
||
├───────────────────────────┼─────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤
|
||
│ break │ break │ прекращает выполнение уровня скрипта │
|
||
├───────────────────────────┼─────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤
|
||
│ Log("w", "text", ...) │ DTLib.ColoredConsole.Write(params string[]) │ выводит в консоль цветной текст │
|
||
├───────────────────────────┼─────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤
|
||
│ Run("файл.ехе аргументы") │ System.Diagnostics.Process.Start(string) │ запускает прогу │
|
||
├───────────────────────────┼─────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────┤
|
||
│ Download("f0", "f1") │ DTLib.NetWork.FSP_Download(this Socket, string, string) │ скачивает файл по FSP протоколу │
|
||
└───────────────────────────┴─────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────┘
|
||
|
||
|
||
=========================================[операторы]========================================
|
||
|
||
Параметром может быть переменная, но не выражение.
|
||
|
||
while (bool)
|
||
{
|
||
...
|
||
}
|
||
|
||
if (bool)
|
||
{
|
||
...
|
||
}
|