Поскольку я довольно широко использую DYNEVAL и DYNAMIC (в том числе и в своём фреймворке), возникла следующая мысль: было бы очень неплохо иметь возможность работать с кодом самих локаций, т.е. получать, изменять и сохранять его программным образом.
Например:
LOCGETCODE(<ИмяЛокации>) — получить код локации
LOCSETCODE, <ИмяЛокации>, <ПрограммныйКод> — установить код локации
Спору нет, широкого применения этот функционал не получит, поэтому попробую пояснить для чего это нужно мне лично:
В своём фреймворке во многих командах автор должен передать программный код, который должен выполняться в тех или иных случаях (например, что должно происходить при перемещении предмета). Нюанс в том, что сейчас предпочтительней передавать этот код как строку ("…" или {…}), потому что тогда фреймворк автоматически заменяет в нём ссылки на объекты на их фактические значения. Например при работе с экземплярами объектов это просто необходимо — автор в коде указывает просто $ОБЪЕКТ, а при выполнении $ОБЪЕКТ заменяется на фактический экземпляр объекта, что позволяет точно знать, с каким именно объектом в каком месте нужно производить манипуляции. Если бы можно было программно работать с кодом локации, то автор мог просто указывать имя локации, которая должна вызываться (для многих это было бы привычней, да и сообщения об ошибках были бы более информативнее).
Неактивен
Nex написал:
Переделывать нужно не QSP, а плохо написанный фреймворк.
Мало понимаю в тонкостях программирования, и все же более продуктивным мне кажется не оценочная критика продукта, а разъяснение в чем именно его можно улучшить.
Отредактировано Korwin (05.08.2011 12:57)
Неактивен