From: William Stevens Date: 2006-05-03T23:42:04+09:00 Subject: Re: Array.include? strangeness Hi, See comment below Martin Smith wrote: > Array.include? doesn't seem to be telling me the truth. > > Obviously this is _ME_ getting it wrong, but could somebody explain what > is happening please. > > 1. First I set up ab array of common words > > def initialize > @common_words = ["&", "and", "or", "ltd", "ltd.", "limited"] > end > > 2. Here I check to see if the variable words contains any uncommon > words, and return them in a new array > > def remove_common_words words > ok_words = Array.new > words.each(" ") do ^ |-- this operation leaves a space at the end of each word. > |word| > logger.debug "checking if word " + word + " is common" > if !@common_words.include?(word) ^ |-- replace with '!@common_words.include?(word.strip)' and it should work fine > logger.debug word + " is not common" > ok_words << word > logger.debug "ok_words: ".concat ok_words.to_s > end > end > > return ok_words > end > > 3. And this is the simple test... > > def test_remove_common_words > e = Entity.new > x = e.remove_common_words "limited Martin & Steve's Company limited" > > puts x > > end > > The output from the puts is: Uncommon words returned:limited Martin & > Steve's Company good luck Bill Stevens -- Posted via http://www.ruby-forum.com/.