gpt4 book ai didi

Lua not not 和 not not 不一样

转载 作者:行者123 更新时间:2023-12-04 00:35:06 25 4
gpt4 key购买 nike

我正在使用一些协程并尝试使用 not 恢复一个协程:

if not co == nil then `resume end

协程不会恢复。虽然 co 是零。真是莫名其妙。

所以我最终尝试了

if co then `resume end

成功了!

为什么不是 (nil == nil),当 co 为 nil 时逻辑上为假,而当它不是时为真,这与 nil 不同,后者在 co 为 nil 时逻辑上为假,否则为真?

我并不总是使用否定逻辑表达式,但现在我担心我的某些代码可能有问题。也许这只对协程有问题? (而且我 100% 确定该值为 nil,因为这就是打印出来的内容,除非 nil 不再等于 nil)

最佳答案

not co == nil 等同于 (not co) == nil 因为 operator precedence .

如果 co 为 nil,则 not co 为真且不同于 nil。

事实上,not 的结果总是 true 或 false,因此永远不会等于 nil。

not (co == nil)co ~= nil

关于Lua not not 和 not not 不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44628944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com