硬汉嵌入式论坛

 找回密码
 立即注册
查看: 162|回复: 0
收起左侧

[Lua] 在Lua中,条件表达式中的非零值被视为真(true),而零值不是一个特殊的“假”(false)值,它也被视为真

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2024-4-18 11:23:42 | 显示全部楼层 |阅读模式

在C里面可以这么调用。

在Lua中,条件表达式中的非零值被视为真(true),而零值不是一个特殊的“假”(false)值,它也被视为真。只有nil和false是假的。所以代码中,0x80 & 0x01的结果是0x00,这是一个非零值,因此条件被视为真,会执行then部分的代码。

[C] 纯文本查看 复制代码
if (0x80 & 0x01)  then
    print("eer")
else
    print("succ")
end


而LUA里面必须得这么调用才行

[Lua] 纯文本查看 复制代码
if (0x80 & 0x01) ~= 0 then
    print("eer")
else
    print("succ")
end


2890.jpg


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 16:02 , Processed in 0.168372 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表