lua中未记录的不等式运算符<>?

时间:2020-04-17 10:34:32

标签: lua

在通读Lua中的编程的页面时,我在Lua 5.3控制台中进行了实验。在3.3 – Logical Operators中,我读到(并尝试过)SELECT SUM(p.amount_value_one) as value_one, SUM(p.amount_value_two) as value_two, SUM(p.amount_diff) as amount_diff, p.sample_no as sampleNo FROM value_table p INNER JOIN code_table On code_table.code_no = p.code_no WHERE code_table.code_id = p.code_id AND code_table.stats = '22A3' GROUP BY p.sample_no 的计算结果为not 0-作为一名C / C ++程序员,这让我感到震惊。为了练习,我编写了一个函数来检查给定数字是否与false不同:

0

尽管伪造了运算符, [1] 该函数确实执行了应有的功能:

Lua> function nn(x) return x <> 0 end

当我意识到实际的inequality operator being ~=时,我想知道为什么我没有收到错误消息。因此,我假设5.3版(我正在尝试)可能已经为Lua> nn(1) true Lua> nn(0) false Lua> nn(0.0) false Lua> nn(0.5) true Lua> nn(-1) true 引入了别名,但是我发现Lua 5.3 reference, 3.4.4 – Relational Operators并非如此。

有人可以阐明这里的实际情况吗?


[1] 我显然毫无误解地认为,SQL,Basic或Pascal中已知的运算符~=对于Lua来说是完美的;)

1 个答案:

答案 0 :(得分:0)

这似乎是我的Lua 5.3控制台中的错误。当我尝试相同的

function nn(x) return x <> 0 end

nn(0)
nn(0.1)
nn(0.0)
nn(10)
nn(-10)

ideone中(运行 Lua(luac 5.3.3)),出现以下语法错误:

luac5.3:prog.lua:1:“>”附近的意外符号

与我在Lua live demo中获得的内容相同( Lua 5.3.5版权所有(C)1994-2018 Lua.org,PUC-Rio

input:1:“>”附近的意外符号

相关问题