在阅读在Lua中编程]的页面时,我在Lua 5.3控制台中进行了实验。在3.3 – Logical Operators中,我读到(并尝试过)not 0
的值为false
-作为C / C ++程序员,这对于我来说是非常震惊的。为了练习,我编写了一个函数来检查给定数字是否与0
不同:
函数确实执行了应有的功能:Lua> function nn(x) return x <> 0 end
尽管伪造了运算符,[1]
Lua> nn(1) true Lua> nn(0) false Lua> nn(0.0) false Lua> nn(0.5) true Lua> nn(-1) true
[当我意识到实际的inequality operator being
~=
时,我想知道为什么我没有收到错误消息。因此,我假设5.3版(我正在尝试)可能已经为~=
引入了别名,但我发现~=
并非如此。
有人可以阐明这里的实际情况吗?
[1]
我显然有一种明显的感觉,即从SQL,Basic或Pascal知道的运算符Lua 5.3 reference, 3.4.4 – Relational Operators对于Lua来说是完美的;)在阅读Lua编程的页面时,我在Lua 5.3控制台中进行了实验。在3.3 –逻辑运算符中,我读到(并尝试过)非0的值表示为false,这对我来说非常令人震惊,因为...
这似乎是我的Lua 5.3控制台中的错误。当我尝试相同的