【发布时间】:2014-05-04 22:04:42
【问题描述】:
我有一个 Lua 脚本,它应该在 Android 和 iOS 上执行,所以有时我需要知道它是在 iOS 上执行还是正在执行在安卓上执行。我发现的唯一方法是检查debug.getinfo(1).source 的开头,但我认为应该有更好的方法。
有什么建议吗?
【问题讨论】:
我有一个 Lua 脚本,它应该在 Android 和 iOS 上执行,所以有时我需要知道它是在 iOS 上执行还是正在执行在安卓上执行。我发现的唯一方法是检查debug.getinfo(1).source 的开头,但我认为应该有更好的方法。
有什么建议吗?
【问题讨论】:
这个脚本在什么环境下运行?
如果它位于现有应用程序或框架的上下文中,则该应用程序应为您提供此信息。如果你正在编写调用 Lua 的底层代码,你应该自己提供。
顺便说一句,我不知道您如何通过查看debug.getinfo(1).source 来猜测操作系统。在 iOS 和 Android 上有何不同?
如果你能提供更多关于你在做什么的细节,我将能够给你一个更好的答案。
【讨论】:
debug.getinfo(1).source,我可以查看路径是否以“@/var/mobile/Applications”开头,但也许有更好的方法。
据我所知,没有内置方法。如果您的脚本可以调用os.execute 和os.getenv,那么您可能会找出一个操作系统命令或环境变量来区分。否则,无论您的脚本运行什么,都必须提供它(可能通过os.getenv:例如,apache 不使用apache 版本设置一些环境变量等?如果这是运行您的脚本的内容,那么os.getenv 应该这样做)。
【讨论】: