Как да разбера коя версия на Lua използвам?

Разработвам приложение с помощта на последната версия на Lua Glider 2 + Corona SDK. Как мога да намеря коя версия на Lua използва? Благодаря ти.


person Anatoly    schedule 07.02.2014    source източник
comment
Защо трябва да знаете? Какво се опитваш да постигнеш?   -  person lhf    schedule 07.02.2014
comment
Бих искал да използвам метаметод __gc за премахване на дисплейни обекти от таблицата и доколкото разбирам, мога да го направя само в Lua 5.2   -  person Anatoly    schedule 07.02.2014
comment
Използвайте LuaJIT - той прилага Lua версия 5.1 с някои допълнителни функции от 5.2 (като __gc метаметод)   -  person Egor Skriptunoff    schedule 07.02.2014
comment
защо ти трябва това Lua прави автоматично gc, нещата __gc наистина са полезни само за обекти, които държат системни ресурси като mutex, манипулатори на файлове, връзки към бази данни и т.н., но Corona Lua е в пясъчна среда и не поддържа нищо от това. Обектите за показване на Corona се освобождават автоматично, просто трябва да се уверите, че не поддържате други референции във вашия модул (ако го направите, __gc няма да бъде извикан така или иначе -- не и докато всички референции не бъдат анулирани). Може би публикувайте въпрос, обясняващ защо смятате, че имате нужда от това във вашия конкретен случай, след което можете да намерите по-добро решение.   -  person Oliver    schedule 07.02.2014
comment
Благодаря ви за вниманието, наистина го оценявам, особено проблем като този може да ми спести много време. Всъщност публикувах въпроса преди и получих този отговор stackoverflow.com/a/21509113/947111, но междувременно го внедри по друг начин (приетия отговор).   -  person Anatoly    schedule 08.02.2014
comment
Извинявам се за моя английски((   -  person Anatoly    schedule 08.02.2014


Отговори (1)


Можете да използвате глобалната променлива _VERSION, за да разберете.

print( _G._VERSION )
person hjpotter92    schedule 07.02.2014
comment
Благодаря ви, работи. Може би знаете как да преминете от 5.1 на 5.2 възможно ли е изобщо? - person Anatoly; 07.02.2014
comment
@Anatoly Все още не бих предложил надграждане до Lua 5.2. Първо потвърдете дали всички библиотеки, които използвате за вашето приложение, са стабилни в по-новата версия или не. - person hjpotter92; 07.02.2014
comment
Не мисля, че можете да изберете коя версия на Lua да се използва от Corona. Всичко е пясъчна среда. Дори C разширенията не са разрешени (освен в корпоративната версия, AFAICT, много скъпа coronalabs.com/pricing). - person Oliver; 07.02.2014
comment
Не можете да промените версията на Lua, която Corona SDK използва. - person Rob Miracle; 10.02.2014