RomanM
RomanM

Reputation: 6711

Calling a class method within a class

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

Upvotes: 18

Views: 32424

Answers (1)

Robert Gamble
Robert Gamble

Reputation: 109012

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

Upvotes: 26

Related Questions