【发布时间】:2011-12-24 21:07:25
【问题描述】:
我正在尝试编写一个 ruby 函数,它遍历作为方法名称的字符串数组,并使用 Object#send 方法将值保存在一个新的实例对象中(甚至不确定这是否合法),这是一个已经存在的。这是我能解释的最好的。想法是这样的:
@example = RelatedClass.new
def example_method
instance_dependant_float = related_class.myvalue / other_related_class.myvalue
ARRAY_OF_METHODS.each do |t|
@example.send(t+'=', self.related_class.t * instance_dependant_float)
end
end
当我尝试在两个不同的场合(在我的发送和乘法器中)运行类似这样的事情时,我在第二个场合调用索引“t”。
【问题讨论】:
-
1)
ARRAY_OF_METHODS是什么? 2)related_class和RelatedClass一样吗? 3)这个并行迭代如何? -
@AndrewGrimm 1) “作为方法名称的字符串数组”。 2) 可能找到更好的解决方案的好问题,但与
NoMethodError无关。 3) 不是;我已经编辑了标题以匹配。 :) -
是的,我搞砸了。谢谢 Phrogz,你完全理解。
标签: ruby-on-rails ruby iteration parallel-processing each