SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Maya Learning Channel

    Maya Learnin

    23 HAZİRAN 2010
  • movies95

    movies95

    27 Kasım 2006