10

我知道=>在 Scala 中用于函数文字,意思是“将左边的东西转换为右边的东西”。但是这个符号实际上叫什么?等于,暗示,lambda?什么?

4

4 回答 4

19

我记得在某处读过“火箭”这个词,可能是在Dean Wampler 和 Alex Payne所著的Programming Scala中。在论坛上找到了 Bill Venners 的相关答案

不久前我问马丁奥德斯基他怎么称呼它,他说“右箭头”。几个月前,Ron Hitchens 向我建议了“子弹”这个名字。我在这里和那里使用过,但它似乎并没有坚持下去。大约 2 周前,我问了一些 Ruby 人他们怎么称呼它,他们说“哈希火箭”。“hash”的原因是 Ruby 使用它来将键映射到值,即 Ruby 中的“key => value”就像 Scala 中的“key -> value”(但在 Ruby 中没有类型),当然 -> 在 Scala 中是一个库抽象,而不是语言的一部分。

所以我建议我们称之为“火箭”。它比子弹更刺激,更不暴力,我们可以在其中放置一个形容词来区分 Scala 中的各种用途:匿名函数中有“函数火箭”,匹配表达式或偏函数中的 case 子句中可能有“案例火箭” , ETC。

所以奥德斯基使用的“官方”术语是“右箭头”

于 2013-01-02T21:35:21.090 回答
13

也通常称为“胖箭”

更新:哦,我刚刚注意到 Paolo Falabella 在上面的评论中提到了它。无论如何,在这里有一个正确的答案也一样好,因为“胖箭头”确实是一个非常常见的名称。

于 2013-01-02T22:16:06.107 回答
6

在 Scala 文档(Java 程序员的 Scala 教程)中,它被称为right arrow

于 2013-01-02T21:38:48.883 回答
1

Programming in ScalaMartin Odersky、Lex Spoon、Bill Venners 的书中,它被称为右箭头Rcket

=>(右箭头,或“火箭”)

  • 在函数字面量中,68

  • 在导入语句中,270–271

  • 在自我类型中,563

  • 在比赛替代品中,164

  • 在这个混叠中,659

于 2019-03-25T09:03:39.203 回答