Как работает метод справочный оператор.: Работа? - PullRequest
6 голосов
/ 10 июня 2019

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"

Эти абстрактные примеры не представляют реальных реализаций. Каково простое английское объяснение цели и использования оператора ссылки на метод, определенного в практических и реальных примерах?

1 Ответ

4 голосов
/ 10 июня 2019

Оператор ссылки на метод .: является просто синтаксическим сахаром для Object#method, как и оператор вызова функции .(). просто синтаксический сахар для #call.

Таким образом, варианты использования для оператора ссылки на метод точно такие же, как варианты использования для метода Object#method ... только с меньшим количеством нажатий клавиш.

...