我正在开发一个用于 Oxide 2 的插件。我从其他的插件中学到了一些知识,发现其中一些使用 null
而不是 nil
。例如:
if args[1] == null then
Oxide 2是用C#编写的,因此我认为null
在C#或Lua接口中有定义。
它们之间有什么区别吗?
更新:
我曾经读过,它可以用于检查MySQL列是否为null
。这是真的吗?
我正在开发一个用于 Oxide 2 的插件。我从其他的插件中学到了一些知识,发现其中一些使用 null
而不是 nil
。例如:
if args[1] == null then
Oxide 2是用C#编写的,因此我认为null
在C#或Lua接口中有定义。
它们之间有什么区别吗?
更新:
我曾经读过,它可以用于检查MySQL列是否为null
。这是真的吗?
nil
是Lua语言中的一个值。
null
是一个变量名。它包含什么值?您可以轻松地检查。我们无法确定,如果它是nil
,那么使用null
是没有意义的,可能是因为某人在C#和Lua代码之间切换时犯了一个错误,这个错误是因为未定义的变量将被评估为nil
。
var = nil
和var = null
都可以吗?除了特殊嵌入式细节外,null
只是一个变量(可能没有值,因此将是nil
),但也可以正常分配。例如,在普通的 Lua 解释器中尝试print(null); null = "foo"; print(null)
。 - Etan Reisnernull
用作某个特殊的标记。 - Etan Reisner