# Issue using method 'odd?'

**URL:** <https://www.ruby-forum.com/t/issue-using-method-odd/158217>\
**Category:** Ruby\
**Created:** [January 20, 2009, 5:16pm UTC](https://www.ruby-forum.com/t/issue-using-method-odd/158217 "2009-01-20T17:16:17Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [January 20, 2009, 5:16pm UTC](https://www.ruby-forum.com/t/issue-using-method-odd/158217/1 "2009-01-20T17:16:17Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [January 20, 2009, 6:21pm UTC](https://www.ruby-forum.com/t/issue-using-method-odd/158217/2 "2009-01-20T18:21:44Z")

</div>

On Tue, Jan 20, 2009 at 5:26 PM, Mmcolli00 Mom [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> * * *
> 
> words = (count1.keys).uniq  
> Posted via [http://www.ruby-forum.com/](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.

---

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [January 20, 2009, 6:28pm UTC](https://www.ruby-forum.com/t/issue-using-method-odd/158217/3 "2009-01-20T18:28:14Z")

</div>

Jesús Gabriel y Galán wrote:

> 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:

Ruby 1.8.7 has odd?

uzimonkey@WOPRJr:~$ ruby -v  
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]  
uzimonkey@WOPRJr:~$ ruby -e ‘puts 1.odd?’  
true

---

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [January 20, 2009, 6:30pm UTC](https://www.ruby-forum.com/t/issue-using-method-odd/158217/4 "2009-01-20T18:30:42Z")

</div>

On Tue, Jan 20, 2009 at 5:48 PM, Michael M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> uzimonkey@WOPRJr:~$ ruby -e ‘puts 1.odd?’  
> true

Doh, you are right ! I was checking 1.8.6.

Jesus.
