From: Axel Etzold Date: 2007-11-15T20:24:45+09:00 Subject: Re: Array checking ???????????????????? -------- Original-Nachricht -------- > Datum: Thu, 15 Nov 2007 19:51:58 +0900 > Von: "David A. Black" > An: ruby-talk@ruby-lang.org > Betreff: Re: Array checking ???????????????????? > Hi -- > > On Thu, 15 Nov 2007, Axel Etzold wrote: > > > > > -------- Original-Nachricht -------- > >> Datum: Thu, 15 Nov 2007 18:59:07 +0900 > >> Von: Nadeesha Meththananda > >> 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! Dear Nadeesha, indeed, Jari's solution is way better. Shorter, more elegant. I wouldn't have written a post had Jari's response already been on the list. Best regards, Axel -- Psssst! Schon vom neuen GMX MultiMessenger geh�rt? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger