# I want new Enumerable Methods, "includes, anies"

**URL:** <https://www.ruby-forum.com/t/i-want-new-enumerable-methods-includes-anies/173274>\
**Category:** Rails\
**Created:** [August 6, 2009, 4:26am UTC](https://www.ruby-forum.com/t/i-want-new-enumerable-methods-includes-anies/173274 "2009-08-06T04:26:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hiphapis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/b782af/32.png) [@hiphapis](https://www.ruby-forum.com/u/hiphapis)\
**Post date:** [August 6, 2009, 4:26am UTC](https://www.ruby-forum.com/t/i-want-new-enumerable-methods-includes-anies/173274/1 "2009-08-06T04:26:42Z")

</div>

#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

---

<div class="post-metadata">

**Author:** ![hiphapis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/b782af/32.png) [@hiphapis](https://www.ruby-forum.com/u/hiphapis)\
**Post date:** [August 6, 2009, 5:09am UTC](https://www.ruby-forum.com/t/i-want-new-enumerable-methods-includes-anies/173274/2 "2009-08-06T05:09:24Z")

</div>

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](http://www.marnen.org)  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![hiphapis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/b782af/32.png) [@hiphapis](https://www.ruby-forum.com/u/hiphapis)\
**Post date:** [August 6, 2009, 7:44pm UTC](https://www.ruby-forum.com/t/i-want-new-enumerable-methods-includes-anies/173274/3 "2009-08-06T19:44:00Z")

</div>

On Aug 5, 10:25 pm, hiphapis [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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.
