2008-12-03 32 views
15

Bunu bir naif soru olarak anlıyorum ama yine de bir Ruby sınıfında başka bir yöntemden nasıl bir yöntem çağrılacağını anlayamıyorum. RubyBir sınıf içinde bir sınıf yönteminin çağrılması

yani aşağıdakileri yapmanız mümkündür:

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

sayesinde

RM

+0

mümkün ve yaptığınız gibi yapıldı :) –

+0

Örneğiniz oldukça doğru çalışıyor (met1'de bir şeyle). – Loki

cevap

22

olanlar sınıf yöntemleri değildir, onlar örnek yöntemlerdir. eşdeğer onun sınıf adıyla yöntemin adını önek olarak oluşturmak sınıf yöntemlerini kullanıyor İşte

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

var1 = A.new 
var1.met2 

: Sen sınıfının bir örneğini kullanarak bir sorun olmadan örnekte met2 gelen met1 çağırabilir

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

A.met2 
+0

Cevabınız için teşekkürler ... nedense benim için çalışmadım –

İlgili konular