# 1.class vs method1.class

**URL:** <https://www.ruby-forum.com/t/1-class-vs-method1-class/114990>\
**Category:** Ruby\
**Created:** [September 19, 2007, 3:19pm UTC](https://www.ruby-forum.com/t/1-class-vs-method1-class/114990 "2007-09-19T15:19:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![winterheat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7993a0/32.png) [@winterheat](https://www.ruby-forum.com/u/winterheat)\
**Post date:** [September 19, 2007, 3:19pm UTC](https://www.ruby-forum.com/t/1-class-vs-method1-class/114990/1 "2007-09-19T15:19:36Z")

</div>

so 1.class will give Fixnum…

but when i define a method

def foo  
puts “ha”  
end

how can i invoke

foo.class

as it is taking what foo returns… as then invoke class on that.

---

<div class="post-metadata">

**Author:** ![winterheat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7993a0/32.png) [@winterheat](https://www.ruby-forum.com/u/winterheat)\
**Post date:** [September 19, 2007, 3:28pm UTC](https://www.ruby-forum.com/t/1-class-vs-method1-class/114990/2 "2007-09-19T15:28:12Z")

</div>

On Sep 19, 2007, at 8:19 AM, SpringFlowers AutumnMoon wrote:

> foo.class
> 
> > def foo; end  
> > =\> nil
> 
> > method(:foo).class  
> > =\> Method

Hope that helps.

James Edward G. II

---

<div class="post-metadata">

**Author:** ![winterheat](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/7993a0/32.png) [@winterheat](https://www.ruby-forum.com/u/winterheat)\
**Post date:** [September 19, 2007, 3:30pm UTC](https://www.ruby-forum.com/t/1-class-vs-method1-class/114990/3 "2007-09-19T15:30:13Z")

</div>

SpringFlowers AutumnMoon wrote:

> foo.class
> 
> as it is taking what foo returns… as then invoke class on that.

becouse foo returns what puts returns and it’s nil, and nil have  
NilClass

you have to understand that in ruby EVERYTHING returns value (even if  
it’s nil) and everything is object (even nil)
