我试图通过 Savon gem 的源代码工作,我发现了这一行..
def initialize
@documents = []
end
def <<(document)
@documents << document
end
我很好奇 def <<
是什么方法呢。以及为什么他可能选择使用该语法而不是(可能)更传统的语法。
源代码可以在以下位置找到: https://github.com/savonrb/savon/blob/master/lib/savon/wsdl/document_collection.rb
最佳答案
def <<
从字面上创建一个名为 <<
的新方法.看着 Ruby Operator Expressions引用,您可以看到其中一些是可以实现、覆盖等的方法。
它没有任何“非常规”或特别之处,如果您习惯了以特殊方式处理的语言,那就有点奇怪了。
关于ruby - 用于定义方法的 ruby def << 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296453/