lua 5.3.5接受下面的代码,
function isOdd (n)
if n & 1 == 1
then return true
else return false
end
end
print(isOdd(1), isOdd(2))
为什么luajit 2.0.5拒绝它?
line 2: 'then' expected near '&'
因为本地位运算符是Lua 5.3的新功能,而LuaJIT基本上是Lua 5.1。使用bit.band
代替:
此模块是LuaJIT内置的-您无需下载或安装Lua BitOp。 Lua BitOp站点具有所有
bit.band
的完整文档。使用任何功能之前,请先确保模块为Lua BitOp API functions:
require
local bit = require("bit")