In Ruby c'è un modo per dire dove viene definito un metodo? Sto esaminando le ruby-guide e c'è una riga di codice che legge Post.all
Come posso sapere dove è definito all
?In Ruby c'è un modo per dire dove viene definito un metodo?
7
A
risposta
17
Se volete sapere il file e la linea dove è definito il metodo, utilizzare
Post.method(:all).source_location
Vi darà [file, line]
o nil
se si tratta di un metodo C.
7
Un metodo può essere utilizzato tramite un oggetto Method. Che a quel punto come attributo owner
. Quindi puoi fare qualcosa del genere:
puts Post.method(:all).owner
Questo ti dirà il modulo/classe che definisce il metodo.
Problemi correlati
- 1. vim/macvim: individuare dove è definito un metodo/simbolo
- 2. Xcode, vedere dove viene utilizzato un metodo
- 3. Dove è definito instance_eval in Ruby 1.9.2?
- 4. Ruby: metodo non definito `> '
- 5. Metodo non definito ogni Ruby
- 6. Vedere dove è definito un simbolo in irb
- 7. Ruby On Rails - "metodo non definito 'id' per 4: Fixnum"
- 8. Golang: dove viene chiamato un metodo di interfaccia?
- 9. Che cos'è NSConcreteData e dove viene definito?
- 10. c'è un modo per scoprire da dove proviene un ramo?
- 11. Il modo migliore per dire a swaggerui dove l'host è
- 12. Dove viene definito per la prima volta "Hutton's Razor"?
- 13. Metodo non definito 'to_h' su matrice Ruby
- 14. C'è un modo per dire dalla JVM se un particolare metodo è stato compilato con JIT?
- 15. Determina dove è definito un alias UNIX
- 16. metodo non definito `stringify_keys! ' Ruby on Rails
- 17. C'è un modo per dire "il metodo restituisce questo" in Java?
- 18. dove è definito Enum.values ()?
- 19. Ruby on Rails metodo non definito per la serie
- 20. Verificare se è stato definito un metodo
- 21. getActivity() dove è definito?
- 22. L'attuale metodo Ruby viene chiamato tramite super?
- 23. metodo non definito `nome' per 'ActionMailer': String
- 24. C'è un modo generico per chiamare un altro metodo ogni volta che un metodo viene chiamato in C#
- 25. Un modo per richiamare un metodo privato?
- 26. C'è un modo per dire se un'operazione OpenGL è finita?
- 27. Come posso registrare ogni metodo chiamato in un programma Ruby?
- 28. Un modo per determinare quale oggetto ha chiamato un metodo?
- 29. Dire a gcc di srotolare in modo specifico un loop
- 30. Da dove viene Enum.values ()?
che non funziona per me - Ho appena ottenuto la classe indietro, anche se il metodo è stato definito in un modulo incluso – klochner
@klochner quale classe? – Reactormonk
sarebbe Post nel tuo esempio, anche se: tutto è stato definito in qualche altro modulo – klochner