Geliştirme sırasında, bir süreden sonra artık gerekli olmayan ve aslında artık geçerli olmayan kodları çağırdığı için aslında benim yoluma çıkan bir 'initialize-instance: after' yöntemi tanımladım. unintern
işlev niteleyici için bir argümanı olmadığından, bir yöntemin simge-niteleyici birleşimini "unintern" hale getirmenin herhangi bir yolu var, böylece slime-restart-inferior-lisp zorunda kalmam ve projeyi tekrar yükle başından beri?Kalifiye bir yöntemi nasıl kullanabilirim?
cevap
Sen find-method
ve remove-method
bunu yapmak için standart işlevleri kullanabilirsiniz:
(remove-method (find-method #'frob '(:before) '(vehicle t)))
Ben balçık müfettiş kullanmak çok daha kolay bulabilirsiniz. İşleviniz frob
olarak adlandırılırsa, frob
'daki tüm yöntemlerin bir listesini görmek için M-x slime-inspect #'frob RET
öğelerini kullanabilir ve kaldırma için ayrı ayrı yöntemler kullanabilirsiniz.
Xach. Metotlar genel fonksiyonlarda toplanmaktadır. UNINTERN bununla hiçbir ilgisi yok. İstediğiniz, genel bir işlevden bir yöntemi kaldırmaktır.
En Yaygın Lisp IDE'lerinin bunu yapmanın bir yolu vardır. Ya editör (M-x undefine ...) veya bazı denetleyici araçları ile.
AllegroCL 9.0 ile. Xach'ın cevabı tamamen benim için işe yaramadı.
benim yöntemin tanımı:
defmethod my-method* ((expr forall-expr) bindings)
forall-expre bir sınıftır ve bağlamaları un-daktilo olduğunu.
Sonra(find-method #'my-method* '() (mapcar #'find-class '(forall-expr t)))
kullandığım yöntemin tanımını kaldırmak için: yöntemini bulmak için ben kullanmak zorunda
(remove-method #'my-method* (find-method #'my-method* '() (mapcar #'find-class '(forall-expr t))))
Ben http://www.gigamonkeys.com/book/object-reorientation-classes.html de dipnot 7'den bu anlamaya başardı ve örnekler arasından Bulma yöntemi http://clhs.lisp.se/Body/f_find_m.htm için Lisp HyperSpec.
- 1. PowerMockito ile özel statik yöntemi nasıl kullanabilirim?
- 2. Kalifiye kimliği arama
- 3. Generics'i bir enum'dan IEnumerable yapma yöntemi oluşturmak için nasıl kullanabilirim?
- 4. Drools Kurallar: "When" bölümündeki bir yöntemi nasıl kullanabilirim?
- 5. Geçiş, kalifiye işaretçileri fonksiyonlara göre kısıtlıyor mu?
- 6. AnyObject.filter yöntemini nasıl kullanabilirim?
- 7. .NET'te bir tarayıcıyı nasıl kullanabilirim?
- 8. Bir TextBlock'ta StringFormat için nasıl statik kaynak kullanabilirim veya kullanabilirim?
- 9. Bir yöntemi nasıl köreltebilirim?
- 10. Yansıtmayı üç.js'de nasıl kullanabilirim?
- 11. Shim bir boşluk yöntemi
- 12. iOS'ta MQTT'yi nasıl kullanabilirim?
- 13. Raylar3 Nasıl kullanabilirim?
- 14. EndRequest'te Autofac'ı nasıl kullanabilirim?
- 15. ReadyForSegue'i nasıl hızlı kullanabilirim?
- 16. LINQ'ta nasıl bölümler kullanabilirim?
- 17. Django'da CommaSeparatedIntegerField'ı nasıl kullanabilirim?
- 18. Heroku'da rdiscount'u nasıl kullanabilirim?
- 19. SIGINT'i Erlang'da nasıl kullanabilirim?
- 20. jsTestDriver'ı jetBrains'de nasıl kullanabilirim?
- 21. jQuery'de preg_match'i nasıl kullanabilirim?
- 22. Bir raw_input'u bükülmüş olarak nasıl kullanabilirim?
- 23. Bir Eclipse biçimlendirici profilini VIm'de nasıl kullanabilirim?
- 24. Bir Console uygulamasında System.Web.Caching.Cache'yi nasıl kullanabilirim?
- 25. Bir sözlüğü "kesmek" için LINQ'u nasıl kullanabilirim?
- 26. ParseInt'i bir çift için nasıl kullanabilirim?
- 27. Linq'u bir T4 şablonunda nasıl kullanabilirim?
- 28. ControlTemplate içinde bir ElementName bağını nasıl kullanabilirim?
- 29. Verileri başka bir sınıftan nasıl kullanabilirim? (android)
- 30. ParMap'i monadik bir işlevle nasıl kullanabilirim?
Bu tür bir şey için balçık muayenesini kullanmayı umuyorsanız, "slime-contribs" inizde "sümük-fantezi-denetçisine" sahip olduğunuzdan emin olun. Jenerik balçık denetçisi (en azından şu anda ...) bu tür işlevselliği kolayca erişilebilir yapmaz. – dat