ruby - 用于定义方法的 ruby​​ def << 语法

标签 ruby savon function

我试图通过 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/

相关文章:

css - 在 win 7 上通过 ruby​​ 减少 css - ver 大于 1.2.21?

ruby - 在 Ruby 中修改匿名数组中的模块级变量

ruby-on-rails - 从 Rails 4.2 使用 UPSERT PostgreSQL

ruby - Savon 2 如何将属性添加到 message_tag

鲁比·萨文 : How to get the request text sent to server?

ruby - 如果我要自己释放内存,我应该使用 ALLOCA_N 吗?

ruby-on-rails - 将管道分隔的字符串数组转换为 ruby​​ 1.9 中的映射

c - 是否可以从 C 中的数组调用函数?

javascript - 如何升级我的 parsify() ,它可以检测嵌入在字符串中的函数并用 JavaScript 中的输出替换该函数?

function - 带有附加参数的交互式 "r"elisp defun?