方法引用操作符。:如何工作?

时间:2019-06-10 01:59:51

标签: ruby ruby-2.7

Ruby 2.7.0-preview1引入了方法引用运算符.:作为实验功能。 (更多herehere)。

有关如何使用此新运算符的一些抽象示例:

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 个答案:

答案 0 :(得分:4)

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

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