我试图在以下示例中理解xml.send
方法调用的语法:
builder = Nokogiri::XML::Builder.new(opt) do |xml|
xml.send(rootTag) {
data.each { |e| generate_xml(e, xml) }
}
end
xml.send
方法调用似乎后跟一个块。块是作为参数传递给方法的吗?是否评估了块并将结果传递给方法?它只是在方法之后运行吗?
注意我认为这是一般的Ruby语法问题,而不是Nokigiri特定问题(仅作为示例)。
答案 0 :(得分:1)
以下块作为send
rootTag
{
data.each { |e| generate_xml(e, xml) }
}
当块传递给方法时,该方法控制是否/何时使用yield
来评估块。