SORU
3 ŞUBAT 2012, Cuma


Ruby bugünkü ileri matematik ve desen ActiveSupport yok::Memoizable bakın?

3.2, ActiveSupport Raylar yani::Memoizable kalmıştır.

Mesajı okur:

DEPRECATION WARNING: ActiveSupport::Memoizable is deprecated and will be removed in future releases,simply use Ruby memoization pattern instead.

"Ruby memoization pattern ve bakın... bilmemiz gereken tek bir desen varsa orada" (tekil). anlamına gelir

Gibi bir anlamı var sanırım:

def my_method
  @my_method ||= # ... go get the value
end

ya

def my_method
  return @my_method if defined?(@my_method)

  @my_method = # ... go get the value
end

Kaçırdığım başka bir şey var mı?

CEVAP
6 ŞUBAT 2012, PAZARTESİ


Burada Memoizable bulunmamıştı nerede tamamlama (ve sonraki tartışma): https://github.com/rails/rails/commit/36253916b0b788d6ded56669d37c96ed05c92c5c

Geçiş için örnek olarak @foo ||= ... yaklaşım points to this commit avukatlar yazarı: https://github.com/rails/rails/commit/f2c0fb32c0dce7f8da0ce446e2d2f0cba5fd44b3.

Edit: Mutlaka memoize tüm örneklerini veya w/ bu deseni değiştirilmelidir, yani bu değişiklik yorumlamak istemiyorum unutmayın. Memoizable artık gerek duyulmayan anlam/Raylar kod kendisi istediği gibi okudum. Yorum işaret ettiği gibi, Memoizable daha @foo ||= ... etrafında sarıcı. Eğer ihtiyacınız olan bu özellikler, devam edin ve kullanın Memoizable, sadece gidip onu bir yerden başka ActiveSupport (sanırım birisi olacak çatal bir mücevher sürümü, henüz yapmamışlarsa).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • NextKsa

    NextKsa

    7 EKİM 2009
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010