【问题标题】:Are there any languages in which the ternary operator can be used to modify code structure?是否有任何语言可以使用三元运算符来修改代码结构?
【发布时间】:2011-08-04 10:34:31
【问题描述】:

我很想知道是否有任何语言可以使用三元运算符在运行时修改代码结构。如:


boolean bool = true;
// Addition method - can add 2 or 3 integers.
add(5,10 bool ? ) : ,15);

我假设如果这存在于任何地方,则三元组的 if 和 else 语句在编译时都必须是可接受的。

【问题讨论】:

  • 我希望 Lisp 能够做到这一点,显然不是这种确切的语法。

标签: ternary-operator ternary


【解决方案1】:

不,因为

  1. 这样的语言将是句法噩梦

  2. 通过使用可以很容易地产生预期的效果

    结果 = 布尔值? add( 5, 10 ) : add( 5, 10, 15 ) # 两个表达式都计算了吗?

    result = add( 5, 10, bool ? 0 : 15 ) # 可能是 nil、empty 或 nix 而不是 0

    语言的标准if

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2013-06-22
    • 2020-02-20
    • 2016-10-04
    • 1970-01-01
    相关资源
    最近更新 更多