Top.Mail.Ru
Ответы

Какой язык более менее похож по синтаксису на GML?

По дате
По рейтингу
Аватар пользователя
Новичок
7лет

js наверное.

Аватар пользователя
Мыслитель
7лет

GML структурно похож на язык С своими блоками кода, вызовами функций, присваиванием переменных, синтаксисом операторов и так далее. GML различает операторы и выражения. Например,

g < 1;
не является правильным оператором и вызовет ошибку. Также, присваивание переменных — это всегда оператор, и поэтому не может быть использован в выражениях. Например, следующая строка всегда генерировала бы ошибку потому, что она бы вычисляла вложенное выражение как true или false, а затем сравнивала бы булевый результат со строкой «Yes» (неправильное сравнение):

if ((answer = get_string("Yes or No?", "")) == "Yes")
Стоит помнить, что знак равно «=» является оператором присвоения и булевым оператором сравнения в выражениях, тогда как в С++ в выражениях пишут двойной знак «==». Тем не менее, двойной знак равно «==» будет правильно интерпретирован в случае использования его в выражениях. Использование такого знака в качестве оператора присваивания вызовет ошибку исполнения. GML также поддерживает операторы инкремента:

g++; // поддерживается как постфиксная, так и префиксная запись
и

g += 1;
то же самое, что и

g = g + 1;
Также существуют операторы: -=, *=, /=, |=, &= и ^=. Начиная с GMS2 введена поддержка тернарного оператора ?:. Операторы в GML могут быть разделены точкой с запятой, однако это не является обязательным условием (хотя и может привести к ошибке в некоторых специфичных случаях).

Источник: <a rel="nofollow" href="https://ru.wikipedia.org/wiki/Game_Maker_Language" target="_blank">https://ru.wikipedia.org/wiki/Game_Maker_Language</a>