Sınıfın bir nesnesine gönderilen her yöntemi yakalamak istediğim garip bir sınıf yapıyorum. İstediğim şeyin çoğunu method_missing ile elde edebilirim.Ruby: Nesneye Gönderilen Tüm Yöntemleri Yakalamak
class MyClass
def method_missing m, *args
# do stuff
end
end
Sorun, MyClass öğesinin Object'ten miras aldığı örnek yöntemlerin tümüdür. Her bir yöntemi tek tek inceleyip yeniden tanımlayabilirim, ancak daha esnek bir yaklaşım olmasını umuyordum. Çalıştığım metaprogramlama yöntemlerinin tümü, bu örnek yöntemlere dokunmaya çalıştığımda bir NameError ile şikayet etti. , @DanCheail yorumlarına ve cevap belirtildiği gibi
http://ruby-doc.org/core-1.9/classes/BasicObject.html
Tam olarak aradığım şey buydu! – Max
Bir BasicObject kullanmak daha iyidir, çünkü aynı şeyi başarır ve çok daha güvenlidir. – Max
Not. Bu cevap yayınlandığında 1.8, üretim senaryolarında hâlâ oldukça yaygındı ve bu nedenle 'BasicObject' henüz mevcut değildi. – numbers1311407