如果我在运行Luajit或PUC Lua 5.1,我如何在运行时检测到?

hug*_*omg 6 lua luajit

我正在为我的Lua项目编写一些测试脚本,我想确保它们在可用的不同Lua版本下正确运行.由于我的单元测试框架可能使用错误的Lua版本,如果我错误配置它,我希望是额外的安全,并在运行时检查我的测试运行的Lua版本.最好的方法是什么?

我知道分开5.1和5.2的快速方法是检查_VERSION全局,但我如何区分常规Lua 5.1和LuaJIT?

hug*_*omg 17

Luajit使用jit模块扩展了标准库.这可能是检测其存在的更直接方式:

if type(jit) == 'table' then
   print(jit.version)  --LuaJIT 2.0.2
end
Run Code Online (Sandbox Code Playgroud)