25 Kasım 2008, Salı
Ruby özel modül yöntemleri
İki parçası bir sorum var
En İyi Uygulama
- Veri yapısı ortak arabirim kullanarak belirli bir işlemi yapan bir algoritma var
- Şu anda çok sayıda statik yöntemler, bir ortak arabirim yöntemi dışındaki tüm özel bir modül.
- Tüm yöntemler arasında paylaşılması gereken bir örnek değişken var.
Bunlar, hangisi daha iyi? benim gördüğüm seçenekler:
- Modülstatik ('' ruby) yöntemleri modülü
- Sınıfstatik yöntemler ile
- Kendisine dahil ederseveri yapısı içine dahil edilmesi için modül
- Yeniden Düzenlealgoritma kısmı bu veri yapısı (çok küçük) değiştirir ve bu algoritma modülünün statik yöntem çağrıları, kendisine dahil ederse
Teknik kısmı
Yapmak için herhangi bir yolu varözel Modül yöntemi?
module Thing
def self.pub; puts "Public method"; end
private
def self.priv; puts "Private method"; end
end
Orada private
herhangi bir etkisi görünmüyorHala sorun olmadan Thing.priv
arayabilirim.
CEVAP
8 Ocak 2009, PERŞEMBE
Bence en iyi yolu (ve çoğunlukla varolan libs yazılmış) bunu yaparak sınıf içinde modül fırsatlar ile tüm mantığı ve modülü sadece sağlar kullanışlı bir yöntem, örneğin
module GTranslate
class Translator
def perform( text ); 'hola munda'; end
end
def self.translate( text )
t = Translator.new
t.perform( text )
end
end
Bunu Paylaş:
Neden Ruby hem özel hem de koruma yönt...
Ruby Dizeleri gsub ve alt yöntemleri a...
Özel SSH-key veya Ruby olmadan kabuk k...
'birim test korumalı için en iyi ...
Python tanımlama özel modül fonksiyonl...