Ruby:隐式块迭代器
有办法做到这一点吗? 而不是:Ruby:隐式块迭代器,ruby,iterator,block,Ruby,Iterator,Block,有办法做到这一点吗? 而不是: links.each do |link| link.color "red" end 使迭代器(在| |之间)隐式,如下所示: links.each do color "red" end 我很肯定这是不可能的。不过,您可以选择每种元素,但如果没有充分的理由,我肯定不会推荐它 foo = ["test","test2","foo","bar","foobar"] foo.each do |f| f.instance_eval do p rev
links.each do |link|
link.color "red"
end
使迭代器(在| |之间)隐式,如下所示:
links.each do
color "red"
end
我很肯定这是不可能的。不过,您可以选择每种元素,但如果没有充分的理由,我肯定不会推荐它
foo = ["test","test2","foo","bar","foobar"]
foo.each do |f|
f.instance_eval do
p reverse
end
end
我不确定这是否值得在本例中付出努力(并且增加了不必要的复杂性),但很高兴知道您可以执行以下操作:
proc = Proc.new { |i| i.color 'red' }
links.map(&proc)
-使用
实例评估时为1,粗体警告时为+1。净零。但是,对于这个想法,+1.:)