2013-01-02 15 views
10

Scalaの=>が関数リテラルで使用され、「左のものを右のものに変換する」ことを意味します。しかし、シンボルは実際に何と呼ばれていますか?等しい、ラムダを意味するか?何?=>スカラでは何が呼び出されますか?

+3

「矢印」または「作成」はどうですか? – SLaks

+3

さまざまな言語で私はこれを "薄い矢" - > 'とは対照的に"太い矢 "と呼んでいます。これを[javascriptの太った矢印](http://css.dzone.com/articles/javascript-fat-city)または[太平対細い矢印(Kotlin)]で参照してください(http://blog.jetbrains.com/ kotlin/2012/01/the-great-syntactic-shift /) –

答えて

16

Dean WamplerとAlex Payneの書籍「Programming Scala」の中でおそらく「ロケット」という言葉を読んでいることを覚えています。私はthis related answer from Bill Venners on a forumが見つかりました:

私は彼がこの呼ばれるものをしばらく前にマーティン・オーダーズキーを尋ねると、彼は「右矢印」と述べました。 Ron Hitchensは数ヶ月前に "弾丸"という名前を私に提示しました。私はそれをこことそこに使ったが、それは固執していないようだった。約2週間前、私はRubyの人たちに何を呼んでいるのか尋ねました。彼らは「ハッシュロケット」と言っていました。 "ハッシュ"の理由は、Rubyではキーを値にマッピングするためにRubyが使用します。つまり、Rubyの "key => value"はScalaの "key - > value"と同じですが(Rubyの型なし)、もちろん - >ライブラリの抽象であり、言語の一部ではありません。

私はそれを「ロケット」と呼んでいます。 Scalaのさまざまな用途を区別するために、そこに形容詞を置くことができます:匿名関数の関数ロケット、マッチ式や部分関数のcase節の "case rocket"

Oderskyが使用する「公式」という用語は、「右矢印」です。 Scalaのドキュメントで

10

と呼ばれている

UPDATE:ああ、私はちょうどパオロファラベラは、上記のコメントでそれを言及したことに気づきました。どんなところでも、「太い矢」は確かにそのための非常に一般的な名前であるため、適切な答えを持つことも同様です。

+0

Coffeescriptには「太い」と「薄い」の両方の矢印があります。形容詞はそれらを区別するために不可欠です。 Scalaは本質的に同じ状況にあります。 –

+0

別名 'スキニー'矢印...笑 – Trevor

関連する問題