Perdona la mia ignoranza, ma qui mi manca qualcosa. Posso trovare la documentazione per instance_eval per ruby 1.8.7 nella classe Object
, ma non riesco a trovarla da nessuna parte per 1.9.2. So che la funzionalità è ancora supportata dal momento che la sto usando. C'è qualche classe genitore segreta a cui è stato trasferito?Dove è definito instance_eval in Ruby 1.9.2?
5
A
risposta
5
Se si fa Object.superclass
vedrai che è BasicObject
che di per sé non ha una superclasse. L'utilizzo di BasicObject.public_methods
rivela che instance_eval
è definito lì.
Lì does not seem to be any documentation per i metodi su BasicObject
.
Problemi correlati
- 1. Dove è definito __dso_handle?
- 2. getActivity() dove è definito?
- 3. dove è definito Enum.values ()?
- 4. Dove è definito std :: copy_exception?
- 5. Dove è definito "id" letterale?
- 6. Dove C++ size_t è definito in linux
- 7. Perché Ruby 1.9.2 rimuove "." da LOAD_PATH e qual è l'alternativa?
- 8. Come compilare vim con ruby 1.9.2
- 9. RVM ruby 1.9.2 Simbolo non trovato: _STR2CSTR
- 10. Vedere dove è definito un simbolo in irb
- 11. Metodi ruby singleton con (class_eval, define_method) vs (instance_eval, define_method)
- 12. vim/macvim: individuare dove è definito un metodo/simbolo
- 13. SystemStackError a livello di rack in Ruby 1.9.2, non 1.8.7
- 14. Generazione sequenziale di numeri casuali distribuiti in Ruby 1.9.2
- 15. Ruby Symbol # to_proc perde riferimenti in 1.9.2-p180?
- 16. AUTH non disponibile (Net :: SMTPAuthenticationError) in Ruby 1.9.2
- 17. LoadError in esecuzione Mongrel con Rails3 e Ruby 1.9.2
- 18. impossibile avviare l'unità di test in Ruby 1.9.2
- 19. 'yield self' è uguale a instance_eval?
- 20. Determina dove è definito un alias UNIX
- 21. Installazione di Ruby 1.9.2 su Ubuntu usando Chef e Vagrant
- 22. Dove è definito l'operatore == nella classe "oggetto"?
- 23. class_eval vs instance_eval
- 24. Dove è definito il filtro in TFS 2012?
- 25. in esecuzione 2.4 configurazioni di logback, dove è definito $ {application.home}?
- 26. In Emacs Lisp, come trovare dove è definito il simbolo
- 27. Differenza tra metodo instance_eval e singleton
- 28. Prerequisiti richiesti per la compilazione di Ruby 1.9.2 su Linux?
- 29. Sinatra non riesce a trovare viste su Ruby 1.9.2-p0
- 30. Qual è la differenza tra Process.fork e Process.spawn in Ruby 1.9.2
Ah, capisco. C'è qualche ragione particolare per cui la documentazione non esiste? Stanno cercando di scoraggiare l'uso di 'instance_eval'? Ho anche notato che 'method_missing' non è documentato da nessuna parte? Inoltre, la documentazione effettiva per BasicObject è qui: http://ruby-doc.org/core-1.9/classes/BasicObject.html. – elmt
Ho notato anche questo link, ma i documenti sotto /core -1.9 sono per 1.9 mentre i documenti under/core sono per l'ultimo (attualmente 1.9.2). Sembra che la definizione di "BasicObject" sia stata spostata da [object.c] (https://github.com/ruby/ruby/blob/v1_9_0/object.c) a [class.c] (https: // github .com/ruby / ruby / blob/ruby_1_9_2/class.c) nel passaggio da 1,9 a 1,9,2, in modo che possa tenere conto della piccola quantità di documentazione che è possibile vedere in core-1.9. – mikej