gpt4 book ai didi

ruby - 为什么在 Ruby 中将 0 视为 True?

转载 作者:数据小太阳 更新时间:2023-10-29 06:25:04 25 4
gpt4 key购买 nike

我正在阅读优秀的 Ruby on Rails Tutorial并且遇到了如下代码。

if 0
true
else
false
end

上面的代码返回 true 并说明了与许多语言(C 是一个明显的例子)不同的是,ruby 将 0 视为 true。我并没有将这种行为视为异类,而是认为这种明显偏离惯例的行为是有充分理由的。例如,Python 将 0 视为 False,正如人们所期望的那样。

简而言之,将 ruby​​ 设计为将 0 视为 true 的基本原理是什么?

最佳答案

我猜 Matz 想要“真实性”这样的概念简单性——唯一的“假”值是 falsenil。期间。

只使用 false 是最干净的,但可以理解需要包含 nil。将整数零作为特例包括在内可能会打开质疑其他类型真实性的心理闸门。字符串呢,"" 是假的吗?而数组,[] 是假的吗?还有哈希,{} 是假的吗? Ad insanitum(见 JavaScript)...

关于ruby - 为什么在 Ruby 中将 0 视为 True?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387515/

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