【问题标题】:Other ternary operations than conditional expression条件表达式以外的其他三元运算
【发布时间】:2015-01-29 19:41:20
【问题描述】:

我在维基百科上看到经常有only one ternary operation type possible in C-like languages,就是条件表达式。

我正在尝试找出存在哪些其他三元运算以及哪些语言会使用它们。

【问题讨论】:

  • 这对于 SO 来说有点太模糊和开放式了。
  • 感谢您的评论,不幸的是我不知道在哪里可以问,如果您能指导我,将不胜感激!
  • 从技术上讲,这篇文章并没有说明它是唯一的可能三元运算符,而只是唯一的现有三元运算符。
  • 扩展一点@DStanley - 实际上有无限数量的可能的三元运算符。根据定义,三元算子可以是任何接受三个输入并产生一个输出的算子——它对三个输入的实际作用没有限制,甚至输入或输出的形式、域或范围都没有限制。 C、C++ 和许多其他语言通常只需要指定一个条件三元运算符。
  • 任何理论语言都可以定义为具有三元运算符。例如,让 S 是实平面中所有点的集合,与实平面中的所有三角形连接,并与空元素连接。令 T(a,b,c) 返回由 a,b,c 组成的三角形,如果 a,b,c 不都是共线的(这种情况下不能形成三角形),否则为空元素。 T 是三元运算符。

标签: math ternary-operator operations ternary


【解决方案1】:
  • 某些语言具有三元甚至可变比较运算符,因此您可以编写诸如“0
  • 我想知道python中的“<expression> for <variable> in <list>”之类的东西是否也可以被视为三元运算符。如果您认为其中的变量名不是表达式,那么您可以使用“<expresstion> for <variable> in <list> if <condition>”,其中表达式、列表和条件是任意表达式。该规范将generator expressions 列在与大多数运算符相同的部分,但并未将其称为运算符,也未在表中列出运算符优先级。
  • 许多 RISC 体系结构使用三个操作数进行常见的算术运算:两个表示输入值,一个表示结果。您是否将其称为运算符,并将结果注册为该运算符的参数,当然又是一个角度问题。

一般而言,许多语言在将运算符与函数与另一侧的函数或控件构造区分开来的界限要模糊得多。在这些情况下,通常很难确定某个三元结构是否确实是运算符。

【讨论】:

    猜你喜欢
    • 2019-02-10
    • 2014-09-15
    • 2020-03-30
    • 2012-07-03
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    相关资源
    最近更新 更多