Hi --

On Thu, 15 Nov 2007, Axel Etzold wrote:

>
> -------- Original-Nachricht --------
>> Datum: Thu, 15 Nov 2007 18:59:07 +0900
>> Von: Nadeesha Meththananda <neranjan125 / gmail.com>
>> An: ruby-talk / ruby-lang.org
>> Betreff: Array checking ????????????????????
>
>>
>>
>> hi
>>
>> i have written a array like this.
>>
>> my_array = ["one","two","three","four"]
>>
>> no i want to check a given string is can be found from the above array.
>>
>> eg:
>>
>>          if  ( my_array.map{"one"} )
>>            return true;
>>          else
>>           return false;
>>           end
>>
>>
>> so here if i use "five" insted of "one" it should return false( as i
>> think) but it does no happen.
>>
>> (simply want to check a given string is in the array or not)
>>
>> so if any body can help????
>> --
>> Posted via http://www.ruby-forum.com/.
>
> Dear Nadeesha,
>
> you can use
>
> class Array
>    def contains_entry?(entry)
>       if self-[entry]==self
>              return false
>       else
>              return true
>      end
>      end
> end
>
> a=["one","two",3,4]
> p a.contains_entry?("three")
>
> The idea is to see whether the array stays the same when you take
> away something from it - if yes, that something wasn't in the array
> in the first place.

No, you definitely don't want to do that, for many reasons. As Jari
said, just use include?

   if array.include?(entry)


David

-- 
Upcoming training by David A. Black/Ruby Power and Light, LLC:
   * Advancing With Rails, Berlin, Germany, November 19-22
   * Intro to Rails, London, UK, December 3-6 (by Skills Matter)
See http://www.rubypal.com for details!