3

かなり短い質問: Symbol#to_proc の短縮形を使用することは可能ですか (lambda(&:upcase)たとえば、Ruby の stabby ラムダ構文で?たとえば、次のように言えます:

p = lambda &:upcase

を取得しますがProcpを使用して同等のものを見つけることができません->。これ:

p = -> &:upcase

もちろん、うまくいきません。

4

1 に答える 1

1

どうやら、それはサポートされていません。

proclambdaは実際にはメソッドであり、キーワードではないという事実と関係があると思います。これらは、通常関連付けられているのと同じ機能とeach、モジュールの他のメソッドをサポートしEnumerableます。ただし、->これは個別に解析される特別な言語構造です。

のようなことができない理由は考えられませ-> &:methodんが、今のところ、Ruby言語の構文ではそれが許可されていません。

于 2012-06-13T16:17:03.547 に答える