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

Принятый ответ

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

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

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

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