En Ruby, ¿hay alguna manera de decir dónde se define un método? Estoy repasando las guías de ruby y hay una línea de código que dice Post.all
¿Cómo puedo saber dónde se define all
?En Ruby, ¿hay alguna manera de decir dónde se define un método?
7
A
Respuesta
17
Si usted quiere saber el archivo y la línea donde se define el método, utilice
Post.method(:all).source_location
Se le dará [file, line]
o nil
si se trata de un método C.
7
Se puede usar un método a través de un objeto Método. Que en ese punto como un atributo owner
. Entonces puede hacer algo como esto:
puts Post.method(:all).owner
Esto le dirá el módulo/clase que define el método.
Cuestiones relacionadas
- 1. ¿Dónde se define instance_eval en Ruby 1.9.2?
- 2. ¿Cómo puedo encontrar dónde se define una constante en Ruby?
- 3. ¿Hay alguna manera de decir "el método devuelve esto" en Java?
- 4. Vea dónde se define un símbolo en irb
- 5. ¿Hay alguna manera de hacer un #define dentro de otro #define?
- 6. ¿Hay alguna manera de identificar un método heredado en Python?
- 7. Rieles: ¿Dónde se define "params"?
- 8. ¿hay alguna manera de averiguar de dónde viene una rama?
- 9. ¿Hay alguna manera de decir qué gemas y complementos se cargan en tiempo de ejecución para un proceso Rails?
- 10. ¿Hay alguna manera fácil de decir en qué línea está un puntero de archivo?
- 11. ¿Cómo puedo encontrar dónde se declara un método Ruby?
- 12. ¿Hay alguna manera de "anular" un método con la reflexión?
- 13. Determinar dónde se define un tipo
- 14. ¿Hay alguna manera en un script de shell para averiguar dónde se redirige su resultado?
- 15. ¿Cómo encontrar dónde se define un método en tiempo de ejecución?
- 16. ¿Hay alguna manera de obtener todas las variables en Ruby?
- 17. ¿Hay alguna manera de establecer el valor de $? en un simulacro en Ruby?
- 18. ¿Hay alguna manera de interceptar setters y getters en C#?
- 19. ¿Hay alguna manera de verificar si se define una función de VBScript?
- 20. Dónde se define C++ size_t en Linux
- 21. ¿Dónde se define un registrador estático de toda la aplicación?
- 22. ¿Alguna manera de invocar un método privado?
- 23. ¿Hay alguna manera de escribir un Método de extensión que se aplique a varios tipos?
- 24. ¿Hay alguna manera de animar en un widget de inicio?
- 25. ¿Hay alguna manera de conocer el método de invocación?
- 26. vim/macvim: localizar donde se define un método/símbolo
- 27. ¿Dónde se define ptrdiff_t en C?
- 28. ¿Hay alguna manera de usar fopen_s() con GCC o al menos crear un #define al respecto?
- 29. ¿Hay alguna manera de negar un predicado?
- 30. Determine dónde se define un alias de UNIX
eso no funciona para mí - Acabo de recuperar la clase, incluso si el método se definió en un módulo incluido – klochner
@klochner ¿en qué clase? – Reactormonk
sería Post en su ejemplo, aunque: todo se definió en algún otro módulo – klochner