#includes
##before:
enum.each do |e|
if e == “1”
#bla~
#bla~
end
end
##after:
enum.includes(“1”). do
#bla~
#bla~
end
#anies
##before:
enum.each do |e|
if e.id == “1”
#bla~
#bla~
end
end
##after:
enum.anies(id == “1”). do
#bla~
#bla~
end
my eng is very poor.
so i’m afraid wrong-understand
hiphapis wrote:
#includes
##before:
enum.each do |e|
if e == “1”
#bla~
#bla~
end
end
##after:
enum.includes(“1”). do
#bla~
#bla~
end
Array#include? already exists with this exact functionality. I forget
if other Enumerables also have include?.
#anies
##before:
enum.each do |e|
if e.id == “1”
#bla~
#bla~
end
end
##after:
enum.anies(id == “1”). do
#bla~
#bla~
end
Use Enumerable#select.
my eng is very poor.
so i’m afraid wrong-understand
Spend some more time with the Ruby core/stdlib docs.
Best,
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
On Aug 5, 10:25 pm, hiphapis [email protected] wrote:
enum.includes(“1”). do
#bla~
#bla~
end
You can also do this with:
enum.select { |e| e == “1” }.each do …
so your ‘includes’ function could be written as:
class Enumerable
def includes(o, &block)
select { |e| e == o }.each(&block)
end
end
enum.anies(id == “1”). do
#bla~
#bla~
end
I don’t think this will even parse - passing bare code fragments like
that doesn’t work in Ruby.
–Matt J.