Techioz Blog

メソッド参照演算子 .: はどのように機能しますか?

概要

Ruby 2.7.0-preview1 では、実験的な機能としてメソッド参照演算子 .: が導入されました。 (詳細はこちらとこちら)。

この新しい演算子の使用方法については、抽象的な例がいくつかあります。

method = 42.:to_s
 => #<Method: Integer#to_s>
method.receiver
 => 42
method.name
 => :to_s
method.call
 => "42"

そして:

method = File.:read
 => #<Method: File.read>
method.call('/Users/foo/.zshrc')
 => "export ZSH=$HOME/.zsh"

これらの抽象的な例は、現実世界の実装を表すものではありません。メソッド参照演算子の目的と使用法を、実際の例を使ってわかりやすく説明したものは何ですか?

メソッド参照演算子はリリース前に Ruby 2.7.0 から削除されたため、この質問はあまり役に立ちません。この疑問は歴史的な理由から残されています。

解決策

メソッド参照演算子 .: は、関数呼び出し演算子 .() と同様、単に Object#method の糖衣構文です。は #call の単なる糖衣構文です。

したがって、メソッド参照演算子の使用例は、キーストロークが少ないだけで、Object#method メソッドの使用例とまったく同じです。