使用Lua区分Android和iOS

我有一个 Lua 脚本,应该在 Android 和 iOS 上执行,因此有时需要知道它正在 iOS 上执行还是正在 Android 上执行。我找到的唯一方法是检查 debug.getinfo(1).source 的开头,但我认为应该有更好的方法。

有什么建议吗?

点赞
用户204011
用户204011

在什么上下文中运行此脚本?

如果它在现有应用程序或框架的上下文中运行,则应用程序应该提供您这些信息。如果您正在编写调用Lua的底层代码,则应自行提供。

顺便说一下,我不知道您如何通过查看debug.getinfo(1)。source来猜测OS。在iOS和Android上有什么不同?

如果您提供更多有关您正在执行的操作的详细信息,我将能够给您更好的答案。

2014-03-26 13:27:54
用户869951
用户869951

将下面翻译成中文并且保留原本的 markdown 格式

There is no builtin method, that I know of. If your script can call os.execute and os.getenv, you can probably figure out an OS command or an environment variable that would allow you to distinguish. Otherwise whatever runs your script must provide it (possibly through os.getenv: for example, doesnt' apache set some environment variable with apache version etc? if this is what runs your script then os.getenv should do it).

我所知道的没有内置的方法。如果您的脚本可以调用 os.executeos.getenv,那么您可能可以找出一个操作系统命令或环境变量来区分它们。否则,运行您的脚本的任何东西都必须提供它(可能通过 os.getenv:例如,Apache 设置某些带有 Apache 版本等环境变量吗? 如果这是运行您的脚本的方式,那么 os.getenv 应该能够解决这个问题)。

2014-03-26 15:02:49