2016-03-28 20 views
2

Aşağıdaki yöntemi some_protected korumalı veya özel olarak nasıl yapabilirim? Miras olmadan uygulanmalıdır.Korumalı tekil yöntem nasıl oluşturulur

module Sample 
    def self.some_public 
    some_protected 
    end 

    protected 

    def self.some_protected 
    puts 'Bingo!' 
    end 
end 

Sample::some_public  # Bingo! 
Sample::some_protected # Bingo! (but expected an error that method is not accessible) 
+0

Bu yönteme niçin _protected_ sahip olmak istersiniz? Sınıf yöntemleri ile çalışırken bana çok şey ifade etmiyor. –

+0

Belki. Tam olarak ne düşündüğün yanlış olabilir? – Kirby

+0

Neye ulaşmak istiyorsunuz? –

cevap

2

Singleton sınıfı içinde çalışmak muhtemelen en kolay olanıdır.

module Sample; end 

class <<Sample 
    def some_public 
    some_protected 
    end 
    protected def some_protected 
    puts 'Bingo!' 
    end 
end 
+0

Evet, ihtiyacım olan şey bu. – Kirby