2008-12-03 3 views
15

Я понимаю это, возможно, наивный вопрос, но все же я не могу понять, как вызвать один метод из другого в классе Ruby.Вызов метода класса в классе

т.е. В Ruby это можно сделать следующее:

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

Спасибо,

RM

+0

это возможно, и все сделано так, как вы это сделали :) – 2008-12-03 03:05:12

+0

Ваш пример работает совершенно правильно Я бы сказал (с чем-то в met1). – Loki 2008-12-03 02:09:31

ответ

22

Это не методы класса, они являются методами экземпляра. Вы можете позвонить MET1 из met2 в вашем примере без проблем с помощью экземпляра класса:

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

var1 = A.new 
var1.met2 

Вот эквивалент с помощью методов класса, которые вы создаете, предваряя название метода с именем класса:

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

A.met2 
Смежные вопросы