我是一个新手,正在学习一些 Ruby 教程,并且对以下send
方法的使用感到困惑。我可以看到 send 方法正在读取属性迭代器的值,但是 Ruby 文档指出 send 方法采用一个以冒号开头的方法。所以,我的困惑在于下面的 send 方法如何插入被迭代的属性变量。
module FormatAttributes
def formats(*attributes)
@format_attribute = attributes
end
def format_attributes
@format_attributes
end
end
module Formatter
def display
self.class.format_attributes.each do |attribute|
puts "[#{attribute.to_s.upcase}] #{send(attribute)}"
end
end
end
class Resume
extend FormatAttributes
include Formatter
attr_accessor :name, :phone_number, :email, :experience
formats :name, :phone_number, :email, :experience
end