【问题标题】:unwelcome if statement on luajit不受欢迎的关于 luajit 的 if 语句
【发布时间】:2020-08-12 20:16:17
【问题描述】:

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 luajit


    【解决方案1】:

    因为原生位运算符是 Lua 5.3 的新功能,而 LuaJIT 基本上是 Lua 5.1。请改用bit.band

    这个模块是 LuaJIT 内置的——你不需要下载或安装 Lua BitOp。 Lua BitOp 网站有所有Lua BitOp API functions 的完整文档。

    在使用模块的任何功能之前,请确保require该模块:

    local bit = require("bit")
    

    Source

    【讨论】:

      猜你喜欢
      • 2021-02-20
      • 1970-01-01
      • 2012-06-06
      • 2020-10-16
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多