TCL 0 不等于 FALSE

TCL 0 not equal to FALSE

我试过了

expr 0==false

但它 returns 0 而不是 1。

根据http://wiki.tcl.tk/16295,False值是不区分大小写的单词no、off、false及其唯一缩写,以及0。

奇怪,还是我理解有误?

在为 expr 命令指定操作数时,为了验证布尔值,我们应该只使用 string is 命令。

% expr {0==false}
0
% expr {[string is false 0]}
1

简单地验证布尔值等于 == 将把它们当作文字 string/list.

参考: expr