【问题标题】:How to find which version of Lua do I use?如何找到我使用的 Lua 版本?
【发布时间】:2014-02-07 15:57:43
【问题描述】:

我使用 Lua Glider 2 + Corona SDK 最新版本开发应用程序。如何找到它使用的 Lua 版本?谢谢。

【问题讨论】:

  • 为什么需要知道?你想达到什么目的?
  • 我想使用元方法 __gc 从表中删除显示对象,据我所知,我只能在 Lua 5.2 中做到这一点
  • 使用 LuaJIT - 它实现了 Lua 5.1 版本,并带有 5.2 的一些附加功能(例如 __gc 元方法)
  • 为什么需要这个? Lua 会自动 gc,__gc 的东西实际上只对持有系统资源的对象有用,比如互斥锁、文件句柄、数据库连接等,但是 Corona Lua 是沙盒的,不支持任何这些。 Corona 显示对象会自动释放,您只需要确保自己没有在模块中保留其他引用(如果这样做,无论如何都不会调用 __gc ——直到所有引用都被取消)。也许发布一个问题,解释为什么您认为在您的特定情况下需要这个,然后您可以找到更好的解决方案。
  • 感谢您的关注,我真的很感激,尤其是这样的问题可以为我节省很多时间。实际上我之前已经发布过这个问题并得到了这个答案stackoverflow.com/a/21509113/947111 但同时我已经以其他方式实现了它(接受的答案)。

标签: lua coronasdk


【解决方案1】:

您可以使用全局变量_VERSION来查找。

print( _G._VERSION )

【讨论】:

  • 谢谢,它有效。也许你知道如何从 5.1 转到 5.2 有可能吗?
  • @Anatoly 我不建议升级到 Lua 5.2。首先确认您用于应用的所有库在较新版本中是否稳定。
  • 我不认为你可以选择 Corona 使用哪个版本的 Lua。一切都是沙盒。甚至 C 扩展也是不允许的(除了企业版,AFAICT,非常昂贵的coronalabs.com/pricing)。
  • 您无法更改 Corona SDK 使用的 Lua 版本。
猜你喜欢
  • 2010-10-07
  • 1970-01-01
  • 2018-10-15
  • 2016-06-18
  • 2011-08-22
  • 2016-09-29
  • 2012-09-14
  • 1970-01-01
  • 2021-03-27
相关资源
最近更新 更多