如何在Elixir中进行类似的条件性单行检查?
if (x > 0) ? x : nil
这是elixir世界中唯一的等价物吗?
if true, do: 1, else: 2
对我来说,if IS相当于一个三元运算符,因为它评估的值对于其他各种语言而言并非如此。
所以x = if false, do: 1, else: 2
基本上是x = false? 1 : 2
不知道为什么Ruby采用它(如果你来自Ruby)因为它具有可分配的if语句。在C中,三元组作为具有等效if语句的代码膨胀是有用的。当然C程序员急需简洁性,并且很多嵌套在嵌套的三元组上:)
是的,在Elixir中没有像三元运算符那样的东西。 if
的关键字版本可能是最接近的。
if condition, do: true_expr, else: flase_expr
我在tweet看到了这个替代品,
is_it_true && "TRUE" || "FALSE"