2008-12-03 36 views
15

Me doy cuenta de que tal vez sea una pregunta ingenua, pero todavía no puedo averiguar cómo llamar a un método de otro en una clase de Ruby.Llamar a un método de clase dentro de una clase

es decir, en Ruby es posible hacer lo siguiente:

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

Gracias,

RM

+0

es posible, y se hace tal como lo hizo :) –

+0

Su ejemplo funciona bastante bien, diría (con algo en met1). – Loki

Respuesta

22

Esos no son los métodos de clase, son los métodos de instancia. Puede llamar Met 1 de MET2 en su ejemplo sin ningún problema usando una instancia de la clase:

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

var1 = A.new 
var1.met2 

Aquí está el equivalente utilizando métodos de la clase que se crean con el prefijo del nombre del método con su nombre de clase:

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

A.met2 
+0

Gracias por la respuesta ... por alguna razón no trabajé para mí antes –

Cuestiones relacionadas