Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这可能是一个非常简单的问题,或者之前可能已经被问过,但在此处和通过谷歌进行简短搜索后,我无法真正找到答案。
因此,冒着错过类似情况的风险,这是我的问题。为什么通常不支持检查间隔的条件语句,而是实现为 blockif或使用&&运算符将两个单独的条件绑定在一起?
if
&&
承认如果我必须多写两行代码并不是全世界,但是从数学背景来看,我发现现代编译器无法对这个相对简单的语句施以巫术真的很奇怪。
从技术或理论角度来看,是否有特殊原因?
我在这里的两分钱:如果您用a < b < c多种语言编写,则意味着(考虑到比较运算符通常是关联的)((a < b) < c)。但是a < b返回一个布尔值,因此(例如,如果a < b返回true)连续减少是(true < c)除了极端罕见的情况之外的所有情况,这不是您想要做的。
a < b < c
((a < b) < c)
a < b
true
(true < c)
我想说从技术角度来看没有任何障碍,因为有些语言确实支持这种比较:
如果我没记错的话,还有 Mathematica。
可以肯定的是,它使语言的解析变得更加复杂,如果语言设计者不将其视为经常使用的功能,他们可能会也可能不会付出代价。
附言。我个人喜欢它,但发现自己很少在 Python 中使用它。