在Lua中,是否有一个函数可以告诉我当前运行的版本是什么?

hen*_*yaz 18 lua version

主题说明了一切.我想知道我的主机解释器是否正在运行Lua 5.2或5.1

Ego*_*off 27

有全局变量_VERSION(一个字符串):

print(_VERSION)

-- Output
Lua 5.2
Run Code Online (Sandbox Code Playgroud)

UPD:
区分Lua版本的其他方法:

if _ENV then 
  -- Lua 5.2
else
  -- Lua 5.1
end
Run Code Online (Sandbox Code Playgroud)

UPD2:

--[=[
local version = 'Lua 5.0'
--[[]=]
local n = '8'; repeat n = n*n until n == n*n
local t = {'Lua 5.1', nil,
  [-1/0] = 'Lua 5.2',
  [1/0]  = 'Lua 5.3',
  [2]    = 'LuaJIT'}
local version = t[2] or t[#'\z'] or t[n/'-0'] or 'Lua 5.4'
--]]
print(version)
Run Code Online (Sandbox Code Playgroud)

  • @finnw - 甚至`math.pi`可以故意设置为`3` :-) (4认同)
  • @JeromeJ - 是的,当然.Lua 5.3在2013年不存在. (2认同)