是否有任何语言使用“= / =”表示不等于运算符

时间:2010-06-17 14:16:44

标签: programming-languages operators

  1. 是否有任何编程语言使用=/=表示不相等?
  2. 扫描仪识别此类操作员是否有任何词汇困难?或者历史上是这样的?
  3. [注意:这不是一个家庭作业问题。我只是很好奇。]

8 个答案:

答案 0 :(得分:18)

Erlang使用它来表示完全不相等。

通常,扫描仪识别这样的标记也不会有任何困难(例如证明:Erlang; - )

答案 1 :(得分:11)

在Erlang =/=中,as noted by Bytecode Ninja表示“完全不等于”。 Erlang的符号受到Prolog的强烈影响所以Prolog uses that operator too就不足为奇了。有几种语言使定义运算符变得微不足道。哈斯克尔就是其中之一。 Haskell标准中没有定义=/=,但定义它将是微不足道的:

(=/=) x y = ....

然后可以在类似函数调用的语法中使用它:

(=/=) 5 6

或者作为内联运算符:

5 =/= 6

语义当然取决于实现。

我认为Common Lisp weenies 用户也可以编写某种使用该序列的读者宏,但我并不积极。

答案 2 :(得分:2)

  1. 不是主流之一。然而,人们很容易创造出这样的语言。
    • (正如其他人提到的,Erlang和其他一些语言已经有了它)
  2. 不。除非你有一种非常奇怪的语言,否则这个运算符在词法分析方面没有什么特别之处。
  3. 顺便说一下,Java有:

    • >(大于)
    • >>(签名右转)
    • >>=(签名右移复合作业)
    • >>>(无符号右移)
    • >>>=(无符号右移复合赋值)
    • >(关闭泛型类型参数,可嵌套)
      • >>>>>>>>>,...

    他们都工作得很好。

    相关问题

答案 3 :(得分:1)

是的,Erlang uses this symbol是“不平等”的代表之一。

Erlang是一种强大的并发支持语言,最初是在爱立信内部设计的,用于编写电话交换软件,但现在在外面获得了极大的普及。

答案 4 :(得分:1)

您可能需要查看Fortress Introductory Slides。 Fortess使用= / =来检查不等式。我想你在寻找语言的可读性。如果是这种情况,那么我可以告诉Fortess代码可以呈现为非常整洁的TeX。

Project Fortress Old Site(移至java.net)

答案 5 :(得分:0)

=/=的{​​{3}}没有显示任何明显的内容,所以我不会说主流。

您想要的任何运算符都不会出现任何问题,计算机只会查找=/=而不是!=<>或您的语言使用的任何内容。

有一些非常奇怪的语言,例如google code search语言(BrainFuck

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.    <<+++++++++++++++.>.+++.——.——–.>+.>.

这是“Hello World”的代码。

答案 6 :(得分:0)

  1. 我不知道
  2. +=??等其他任何运营商都难得多。
  3. 但是,键入这样的运算符非常麻烦。即使!=也会更简单。

答案 7 :(得分:0)

据推测,任何具有运算符重载功能的语言都可以使用此运算符。

相关问题