¿Por qué nil.to_s
retorno ""
, pero nil.inspect
vuelve "nil"
(cuando aparentemente .inspect
utiliza el método .to_s
)Ruby: ¿Por qué el retorno nil.to_s "", pero vuelve nil.inspect "nulo"
7
A
Respuesta
3
Consulte la documentación sobre NilClass.inspect
. Indica que devolverá "nil"
y no garantiza la equivalencia con to_s
.
15
Se supone que el "inspect" method of the Object class devuelve una versión del objeto humana legible.
La versión legible para humanos de nil
es "nil" y no "" (que es la versión humana legible de la cadena ""
).
Es por eso que nil.inspect
debe devolver "nil", mientras que nil.to_s
devuelve "" para que "a string" + nil
devuelva "a string"
como generalmente se espera (en otros idiomas, por ejemplo).
Cuestiones relacionadas
- 1. ¿Por qué se puede probar un retorno nulo pero otro arroja una excepción?
- 2. ¿Qué significa el retorno al final de un método nulo?
- 3. ¿Por qué Bitmap.getConfig() devuelve nulo?
- 4. ¿Por qué BCrypt.net GenerateSalt (31) vuelve inmediatamente?
- 5. ¿Por qué CLR vuelve a lanzar ThreadAbortException?
- 6. Ruby require 'file' no funciona, pero requiere './file'. ¿Por qué?
- 7. ¿Por qué el mensaje vuelve a la función onMessage()?
- 8. ¿Por qué document.GetElementById devuelve nulo
- 9. ¿Por qué HttpContext.Current.Handler es nulo?
- 10. ¿Por qué Assembly.GetExecutingAssembly() devolverá nulo?
- 11. ¿Por qué el IDE de Eclipse se vuelve más lento?
- 12. ¿Por qué chrome.extension.getBackgroundPage() devuelve nulo?
- 13. ¿Por qué debería una API devolver 'nulo'?
- 14. ¿Por qué BitmapFactory.decodeByteArray devuelve nulo?
- 15. ¿Por qué verificar esto? = Nulo?
- 16. ¿Por qué SelectSingleNode devuelve nulo?
- 17. ¿Por qué SynchronizationContext.Current es nulo?
- 18. ¿Por qué mi SqlCacheDependency HasChanged vuelve falso pero casi inmediatamente después de los cambios en verdadero?
- 19. por qué Files.probeContentType devuelve nulo
- 20. Java: ¿por qué imprime nulo?
- 21. Los delegados de multidifusión deben tener un tipo de nulo de retorno. ¿Por qué?
- 22. C++ tipo de retorno nulo de main()
- 23. EasyMock andReturn() valor de retorno nulo
- 24. Usando la plantilla para el valor de retorno. cómo manejar el retorno nulo?
- 25. `¿Por qué typeof this` "objeto" de retorno?
- 26. ¿Por qué el retorno anticipado es más lento que otro?
- 27. ¿Por qué el delegado no maneja el evento nulo?
- 28. TempData se vuelve nulo después de actualizar la página
- 29. ¿Por qué self.navigationItem.backBarButtonItem siempre es nulo?
- 30. ¿Por qué es self.navigationController nulo en viewDidLoad?
Perdón por el enlace obsoleto, respondí esto usando mi teléfono. – oldrinb