有没有办法做到这一点? 代替:Ruby:隐式块迭代器
links.each do |link|
link.color "red"
end
使迭代器(之间| |)隐象这样:
links.each do
color "red"
end
有没有办法做到这一点? 代替:Ruby:隐式块迭代器
links.each do |link|
link.color "red"
end
使迭代器(之间| |)隐象这样:
links.each do
color "red"
end
我敢肯定,这是不可能的。但是,您可以instance_eval每一个元素,但我肯定不会推荐它没有很好的理由
foo = ["test","test2","foo","bar","foobar"]
foo.each do |f|
f.instance_eval do
p reverse
end
end
-1表示使用'instance_eval',+1表示粗体警告。净零。但是,然后+1的想法。 :) – Zabba
我不知道这是一个值得在这种情况下的努力(而且增加了不必要的复杂性),但它很高兴要知道你可以做如下的事情:
proc = Proc.new { |i| i.color 'red' }
links.map(&proc)
我怀疑这可能! – Zabba