From: "Jesús Gabriel y Galán" Date: 2009-01-21T01:34:43+09:00 Subject: Re: issue using method 'odd?' On Tue, Jan 20, 2009 at 5:26 PM, Mmcolli00 Mom wrote: > I keep getting a no method error when trying to find out if a count is > an odd number. I had tested the code with actual numbers and it works > fine. It seems like it is not liking how I am trying to use the method > 'odd?' The count's class is of FixNum. I have tried converting to > interger but got same result. Here is the code that I am using. Do you > know if I need a gem or what I have not done here? Thanks. MC > > searchText.rb:38: undefined method `odd?' for 8:Fixnum (NoMethodError) > from searchText.rb:30:in `each' > from searchText.rb:30 > ***************************************** > count1 = Hash.new(0) > > File.open("NTemp.txt") do |src| > src.each_line do |line| > word1 = line.chomp.split(",") > count1[word1] += 1 > #~ count2[word2] += 1 > end > end > > words = (count1.keys).uniq > words.each do |word| > > #~ if count[word] == 1 > #~ if count[word] == 2 > > if count[word].odd? == true > puts "Value does not contain a match: #{word}" > end > end > -- > Posted via http://www.ruby-forum.com/. > > Ruby 1.8 doesn't have an odd? method per se. Rail's ActiveSupport adds one to Integer. The code is quite simple, so I wouldn't require active support only for this: module EvenOdd def multiple_of?(number) self % number == 0 end def even? multiple_of? 2 end if RUBY_VERSION < '1.9' def odd? !even? end if RUBY_VERSION < '1.9' end Ruby 1.9 has Fixnum#odd? though. Jesus.