かなり短い質問: Symbol#to_proc の短縮形を使用することは可能ですか (lambda(&:upcase)
たとえば、Ruby の stabby ラムダ構文で?たとえば、次のように言えます:
p = lambda &:upcase
を取得しますがProc
、p
を使用して同等のものを見つけることができません->
。これ:
p = -> &:upcase
もちろん、うまくいきません。
かなり短い質問: Symbol#to_proc の短縮形を使用することは可能ですか (lambda(&:upcase)
たとえば、Ruby の stabby ラムダ構文で?たとえば、次のように言えます:
p = lambda &:upcase
を取得しますがProc
、p
を使用して同等のものを見つけることができません->
。これ:
p = -> &:upcase
もちろん、うまくいきません。
どうやら、それはサポートされていません。
proc
とlambda
は実際にはメソッドであり、キーワードではないという事実と関係があると思います。これらは、通常関連付けられているのと同じ機能とeach
、モジュールの他のメソッドをサポートしEnumerable
ます。ただし、->
これは個別に解析される特別な言語構造です。
のようなことができない理由は考えられませ-> &:method
んが、今のところ、Ruby言語の構文ではそれが許可されていません。