tags:

views:

368

answers:

2

I realize this perhaps a naive question but still I cant figure out how to call one method from another in a Ruby class.

i.e. In Ruby is it possible to do the following:

class A
   def met1
   end
   def met2
      met1 #call to previously defined method1
   end
end

Thanks,

RM

+5  A: 

Those aren't class methods, they are instance methods. You can call met1 from met2 in your example without a problem using an instance of the class:

class A
   def met1
     puts "In met1"
   end
   def met2
      met1
   end
end

var1 = A.new
var1.met2

Here is the equivalent using class methods which you create by prefixing the name of the method with its class name:

class A
   def A.met1
     puts "In met1"
   end
   def A.met2
      met1
   end
end

A.met2
Robert Gamble
Thanks for the answer ... for some reason i didnt work for me before
Roman M
+1  A: 

Your example works quite right I would say (with something in met1).

Loki