在Elixir中模拟三元运算符

张宗平:

如何在Elixir中进行类似的条件单行检查?

if (x > 0) ? x : nil

这是长生不老药世界中唯一的等同物吗?

if true, do: 1, else: 2
基思·尼古拉斯(Keith Nicholas):

对我来说,if 一个三元运算符的等效项,因为它计算出的值对于其他各种语言而言都不是。

所以 x = if false, do: 1, else: 2

基本上是 x = false? 1 : 2

不知道为什么Ruby采用它(如果您来自Ruby),因为它具有可分配的if语句。在C语言中,三元代码作为等效的if语句使代码膨胀非常有用。当然,渴望简洁的C程序员疯了,做了很多嵌套在嵌套三元组上的:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章