相关疑难解决方法(0)

链式比较运算符的语言支持(x <y <z)

一个问题被张贴有关链比较运营商以及它们如何在不同的语言解释.

链接比较运算符意味着(x < y < z)将被解释为((x < y) && (y < z))而不是((x < y) < z).

对该问题的评论表明,Python,Perl 6和Mathematica支持链接比较运算符,但是其他语言支持这个功能,为什么它不常见?

快速浏览一下Python文档就可以看出这个功能至少从1996年开始.有没有更多语言没有添加这种语法的原因?

静态类型语言会出现类型转换问题,但还有其他原因这种情况不常见吗?

syntax programming-languages operators

21
推荐指数
3
解决办法
4459
查看次数

我可以使用这样的语法吗?

在一个JS库中,我看到了这样的语法:

if (val > 5 == t) { ... }
Run Code Online (Sandbox Code Playgroud)

我在控制台测试了这个:

1 == 1 == 2 // false
2 > 1 == 1  // true
1 == 2 == 1 // false
1 == 1 == 1 // true
1 < 2 < 3   // true
1 > 2 > 3   // false
Run Code Online (Sandbox Code Playgroud)

乍一看都是正确的.这可以用吗?

javascript operators

3
推荐指数
1
解决办法
151
查看次数

Javascript表达式:double大于x且大于y

所以我想知道是否有办法做双倍大于,比如:

if(x > y > z) { ... }
Run Code Online (Sandbox Code Playgroud)

然后我看到这个 表达式"超过x而不是y"?

但后来我在控制台中尝试了以下表达式并获得了一个奇怪的结果:

(5 < 2 < 1) // returned true
(5 > 2 > 1) // returned false
Run Code Online (Sandbox Code Playgroud)

怎么样?

更新:我知道你不能这样做"(x> y> z)",只是想要解释奇怪的结果.

javascript boolean-logic boolean-expression

0
推荐指数
1
解决办法
170
查看次数