Все находится в рубине объектом? Делает это включает Fixnum
s?
Зависит от того, что вы подразумеваете под «всем». Fixnum
, как показали другие. Классы также являются экземплярами класса Class
. Методы, операторы и блоки - нет, но могут быть обернуты объектами ( Proc
). Простого задания нет и не может. Такие утверждения, как , в то время как
, также не являются и не могут. Комментарии, очевидно, также попадают в последнюю группу.
Большинство вещей, которые на самом деле имеют значение , т.е. которыми вы хотели бы манипулировать, являются объектами (или могут быть заключены в объекты).
Да. Fixnum
- это класс, который наследуется от Integer
, который наследуется от Numeric
, который в конечном итоге наследуется от Object
.
Или почему бы тебе просто не спросить об этом? :)
1.is_a? Object # => true
1.class # => Fixnum
Fixnum.is_a? Object # => true
Также неплохо было бы прочитать Ruby info и документацию на веб-сайте.
Ага.
> Fixnum.is_a?(Object) #=> true
Чтобы увидеть цепочку наследования:
> pp Fixnum.ancestors
[Fixnum,
Integer,
Precision,
Numeric,
Comparable,
Object,
...
Kernel]
=> nil
Ruby не имеет примитивов (таких как int, char и т. Д. В java), поэтому каждое значение (все, что может находиться справа от оператора присваивания) является объектом. Однако управляющие операторы, методы и другие особенности синтаксиса языка - нет.