方法引用运算符 .: 是如何工作的?

How does the method reference operator .: work?

这个问题不是很有用,因为 the method reference operator was removed from Ruby 2.7.0 在发布之前。由于历史原因,这个问题被搁置了。

Ruby 2.7.0-preview1 has introduced the method reference operator .: as an experimental feature. (more here and here).

有一些抽象示例可用于说明如何使用此新运算符:

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"

这些抽象示例并不代表现实世界的实施。方法引用运算符的目的和使用的简单英语解释是什么,根据实际和真实示例定义?

方法引用运算符 .: 只是 Object#method 的语法糖,就像函数调用运算符 .() 一样。只是 #call.

的语法糖

因此,方法引用运算符的用例与 Object#method 方法的用例完全相同……只是击键次数更少。