В чем разница между этими классами? В чем разница между их целями?В чем разница между Object и BasicObject в Ruby?
ответ
BasicObject был введен в Ruby 1.9 и является родителем Object (таким образом, BasicObject
является родительским классом всех классов в Ruby).
BasicObject
практически нет методов на себе:
::new #! #!= #== #__id__ #__send__ #equal? #instance_eval #instance_exec
BasicObject может быть использован для создания иерархии объектов независимо от иерархии объектов в Ruby, прокси-объекты, как доверитель класс или другие виды использования, где загрязнение пространства имен из методов и классов Ruby .
BasicObject не включает в себя ядро (для методов, таких как путы) и BasicObject находится вне пространства имен стандартной библиотеки так общие классов не будут найдены без использования полного пути к классу.
Объект смеси в модуле ядра, что делает встроенный в ядро функции глобально доступной. Хотя методы экземпляра Объекта определяются модулем ядра ...
Вы можете использовать BasicObject
как родитель вашего объекта в случае, если вам не нужны методы Object
и вы бы в противном случае их отмены определения:
# 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. чем разница между * и Object
- 2. В чем разница между Object obj = Object() и Object obj()?
- 3. В чем разница между '|| =' и '=' в Ruby
- 4. В чем разница между @@ и @ в Ruby?
- 5. В чем разница между [[]] и [] в Ruby?
- 6. В чем разница между Ruby и JRuby?
- 7. В чем разница между Object b(); и Object b ;?
- 8. В чем разница между атрибутом $ object -> $ и $ object->?
- 9. В чем разница между методом ruby send и ruby public_send?
- 10. В чем разница между Ruby и Ruby on Rails?
- 11. В чем разница между Ruby и Ruby on Rails?
- 12. В чем разница между «(Object) null» и «null» в Java?
- 13. В чем разница между `new object()` и `new {}` в C#?
- 14. В чем разница между «Type» и «Object» в Python
- 15. Разница между .. и ... в Ruby
- 16. Что входит в Ruby Class или BasicObject?
- 17. В чем разница между Object, * и no type вообще?
- 18. В чем разница между render: object и: collection?
- 19. В чем разница между assert object! = Null и Assert.assertNotNull (объект)?
- 20. В чем разница между `new Object()` и объектной литературой?
- 21. Visual Basic: В чем разница между controls.remove (object) и object.hide()?
- 22. Разница между '[Object]' и '[Object Object]' в консоли Chrome?
- 23. В чем разница между Object, Object и [1: Object, 2: Object]?
- 24. В чем разница между String.new и строковым литералом в Ruby?
- 25. В чем разница между константой и переменной в Ruby?
- 26. В чем разница между include и require в Ruby?
- 27. В чем разница между «# @ {var}» и «@ # {var}» в Ruby?
- 28. В чем разница между «и» в хрустах Ruby?
- 29. В чем разница между строками и символами в Ruby?
- 30. В чем разница между «include» и «preend» в Ruby?
Документы отвечают на первую часть. BasicObject имеет меньшую функциональность и может использоваться вместо Object, если вы в конечном итоге удалите кучу методов объекта. –