¿Cuál es la diferencia entre estas clases? ¿Cuál es la diferencia entre sus propósitos?¿Cuál es la diferencia entre Object y BasicObject en Ruby?
Respuesta
BasicObject se introdujo en Ruby 1.9 y es uno de los padres de Object (por lo tanto, BasicObject
es la clase principal de todas las clases en Ruby).
BasicObject
casi no tiene métodos en sí:
::new #! #!= #== #__id__ #__send__ #equal? #instance_eval #instance_exec
BasicObject puede ser utilizado para la creación de jerarquías de objetos independientes de jerarquía de objetos de Ruby, objetos proxy como el Delegador clase, o otros usos donde la contaminación del espacio de nombres de los métodos y clases de Ruby debe ser evitado.
BasicObject no incluye Kernel (por métodos como pone) y BasicObject está fuera del espacio de nombres de la biblioteca estándar de modo clases comunes no se encontraron sin el uso de un camino completo de la clase.
objeto mezclas en el módulo del núcleo, por lo que la incorporada en el kernel funciones accesibles a nivel mundial. Aunque los métodos de instancia de objeto se definen por el módulo del kernel ...
Puede utilizar BasicObject
como padre de su objeto en caso de que si usted no necesita métodos de Object
y que le undefine ellos de otra manera:
# when you inherit Object
class Tracer
instance_methods.each do |m|
next if [:__id__, :__send__].include? m
undef_method m
end
# some logic
end
# when you inherit BasicObject
class Tracer < BasicObject
# some logic
end
- 1. En Scala, ¿cuál es la diferencia entre Any y Object?
- 2. ¿Cuál es la diferencia entre? y Object en genéricos Java?
- 3. ¿Cuál es la diferencia entre utilizar ReentrentLock y Synchronized (object)?
- 4. ¿Cuál es la diferencia entre Ruby y Ruby on Rails?
- 5. ¿Cuál es la diferencia entre STDIN y $ stdin en Ruby?
- 6. ¿Cuál es la diferencia entre require_relative y require en Ruby?
- 7. ¿cuál es la diferencia entre salir y salir? en ruby?
- 8. ¿Cuál es la diferencia entre% Q y% {} en ruby?
- 9. ¿Cuál es la diferencia entre Class y Klass en ruby?
- 10. ¿Cuál es la diferencia entre include y require en Ruby?
- 11. ¿Cuál es la diferencia entre incluir y extender en Ruby?
- 12. Cuál es la diferencia entre la conversión usando (Object como TClass) y TClass (Object)
- 13. ¿Cuál es la diferencia entre Rack y Rails Metal (Ruby)?
- 14. ¿Cuál es la diferencia entre Ruby on Rails y Grails?
- 15. Cuál es la diferencia entre $ y jQuery
- 16. ¿Cuál es la diferencia entre + = y = +?
- 17. ¿cuál es la diferencia entre:.! y: r !?
- 18. ¿Cuál es la diferencia entre ".equals" y "=="?
- 19. Cuál es la diferencia entre = y: =
- 20. Cuál es la diferencia entre $ (...) y `...`
- 21. ¿Cuál es la diferencia entre dict() y {}?
- 22. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 23. ¿Cuál es la diferencia entre {0} y ""?
- 24. ¿Cuál es la diferencia entre .ToString (+) y ""
- 25. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 26. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 27. ¿Cuál es la diferencia entre " " y ""?
- 28. ¿Cuál es la diferencia de enunciado y expresión en Ruby?
- 29. ¿Cuál es la diferencia entre GetHashCode implementado en Object y ValueType class?
- 30. ¿Cuál es la diferencia entre <?> y <? extiende Object> en Java Generics?
Los documentos responden a la primera parte. BasicObject tiene menos funcionalidad y se puede utilizar en lugar de Object si de todos modos eliminara muchos métodos Object. –