Reputation: 10287
Is there a way to do this? instead of:
links.each do |link|
link.color "red"
end
make the iterator (between | |) implicit like so:
links.each do
color "red"
end
Upvotes: 3
Views: 291
Reputation: 1047
I'm not sure this is worth the effort in this instance (and it adds unnecessary complexity) but it's nice to know that you can do something like the following:
proc = Proc.new { |i| i.color 'red' }
links.map(&proc)
Upvotes: 3
Reputation: 84140
I am pretty sure that this is not possible. You can however instance_eval each element, but I certainly wouldn't recommend it without good reason
foo = ["test","test2","foo","bar","foobar"]
foo.each do |f|
f.instance_eval do
p reverse
end
end
Upvotes: 3