Здравствуйте, многие знают уже что я автор утилиты cjass2lua которая преобразует cjass и jass код в lua, недавно я добавил поддержку структур но у меня возник вопрос, например как быть с ситуацией когда this или объект используется как число? Потому что в JASS любой объект это по сути integer.
Как лучше реализовать использование объектов/this'ов в lua в таких ситуациях obj > 0 и так далее, добавить какую-то аналогичную систему идентификаторов или есть какое-то более простое решение?
Или вообще ничего менять не нужно

например как быть с ситуацией когда this или объект используется как число?
this часто используется как число, например для сохранения на хэндл таймера.

ИМХО, структуры вообще лучше переписать изначально на lua.
`
ОЖИДАНИЕ РЕКЛАМЫ...
30
например как быть с ситуацией когда this или объект используется как число?
this часто используется как число, например для сохранения на хэндл таймера.

ИМХО, структуры вообще лучше переписать изначально на lua.
Принятый ответ
15
NazarPunk:
например как быть с ситуацией когда this или объект используется как число?
this часто используется как число, например для сохранения на хэндл таймера.

ИМХО, структуры вообще лучше переписать изначально на lua.
В таком случае я оставлю, их в любом случае лучше доработать напильником, пару раз this поменять руками думаю ничего не стоит
Хотя можно конечно uid добавить который бы везде заменял обращения к this напрямую
26
можно сделать this как элемент таблицы? тогда на него можно будет ссылаться внутри конкретной "структуры-таблицы"
и это индекс массива конкретного типа структуры, аналог ему будет скорее всего #table
15
Вряд ли this как число используется в ином случае кроме доступа к экземплярам структуры (например в двусвязных списках). Вероятно создать массив экземпляров структуры, где индексы будут соответствовать числам под this.
obj > 0 может означать проверку obj ~= nil, хранит ли obj экземпляр объекта или был ли экземпляр создан вызовом конструктора.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.