![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Вот такая идея:
если ввести тригер на изменение значения определенной (заданной) переменной, то можно было бы формировать то, что в объектно-ориентированном програмировании называется свойством. Тригер запускался бы сразу при попытке изменить значение, и в него как параметр передавалось бы новое значение. Фактически изменить значение переменной можно было бы только внутри такого тригера. Это помогло бы во многих случаях, например- есть глобальная переменная, значение которой должно быть идентичным у всех игроках в мультиплеере. Сейчас приходится все время, как только такая переменная изменяется, вызывать команды по передачи данных, что естественно путает структуру скрипта, делает его трудным в отладке. Если же изменив переменную автоматически мы тем самым запустили бы функцию обработчик (тригер), с условием возврата управления обратно, то все необходимое можно было бы описать только в ней, и не перегружать содержание скрипта. Естественно есть еще десятки случаев, когда такая схема была бы очень полезной (контроль значений переменной, отрисовка чего-либо и т.д.) -------------------- Усячески Ваш :)
|
|
|
![]() |
![]()
Сообщение
#2
|
|
Member Сообщений: 54 Спасибо сказали: 1 раз ![]() |
В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода.
Вот бы только сил на все хватило... |
|
|
Гость_Arez_* |
![]()
Сообщение
#3
|
![]() |
Цитата(ZVS @ 11 Mar 2005, 13:38) В 3.59 планируется и триггер на изменение переменных и real-time отладчик ERM кода. Вот бы только сил на все хватило... А мне кажется что от ERM надо уходить. Слишком уж он заморочный, очень легко ошибится - 99% проблем со скриптами из-за этого. Вариантов, ИМХО два - либо сделать транслятор с какого-нибудь высокоуровнего языка на ERM, либо прикрутить простенький интерпретатор вроде Small или Luna плюс набор функций для WoG-фич. PS: Как-то давно начал делать транслятор с подмножества С, но уж больно вычурно даже вложенный if зафигачить, а уж циклы... |
|
|
![]()
Сообщение
#4
|
|
![]() Immortal Сообщений: 1 995 Спасибо сказали: 6 раз ![]() |
Цитата(Arez @ 27 May 2005, 07:17) А мне кажется что от ERM надо уходить. Слишком уж он заморочный, очень легко ошибится - 99% проблем со скриптами из-за этого. Вариантов, ИМХО два - либо сделать транслятор с какого-нибудь высокоуровнего языка на ERM, либо прикрутить простенький интерпретатор вроде Small или Luna плюс набор функций для WoG-фич. PS: Как-то давно начал делать транслятор с подмножества С, но уж больно вычурно даже вложенный if зафигачить, а уж циклы... Это стандартная проблема того, кто привык к одному языку при переходе на другой. Перейти на что-то с ERM невыполнимая задача да и не нужная - кто перетранслировать будет существующие скрипты? Другое дело, придать ERM большее удобство и структурность, но расширяя синтаксис а не сужая его, так чтобы новые более широкие конструкции были, но и старые работоспособными оставались. КРоме того, объявлено, что 3.59 будет последней версией WOG и думать о чем то грандиозном уже не приходится более. Для меня лично важен тригер на изменение переменной, что резко упростит структуру скриптов, сделает их читабельнее и уменьшит количество ошибок. Ратовал бы я и за толковый хелп, написанный таким образом, чтобы были рассмотрены примеры стандартных алгоритмических структур на ERM - цикл, ветвление, множественный выбор, реализация типов данных, функция и процедура, с введение тригера на изменение переменной даже свойства. Все это есть в ERM но имеет весьма непривычный и не слишком удобный вид, так что примеры были бы весьма кстати. -------------------- Усячески Ваш :)
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 26 August 2025 - 04:14 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|