Примеры «вещей», которые не являются объектами в Ruby - PullRequest
19 голосов
/ 06 января 2009

«Все является объектом» было одним из первых предметов, которые я узнал о Ruby, но в «1001 * Beginning Ruby: от новичка до профессионала» Питера Купера упоминается, что « все в Ruby является объектом ".

Можете ли вы дать мне примеров вещей , которые не являются объектами в Ruby?

Ответы [ 4 ]

13 голосов
/ 06 января 2009

Самым очевидным, что прыгнет в мою голову, будут блоки. Блоки можно легко преобразовать в объект Proc, используя форму параметра &block в списке параметров или используя lambda, proc, Proc.new или (в Ruby 1.9) «стабильную лямбду» синтаксис. Но сами по себе они не являются объектами.

Другим примером являются операторы.

4 голосов
/ 06 января 2009
  1. если
  2. иначе
  3. {
  4. }

общие языковые конструкции и т. Д. *

Я думаю, что почти все остальное (включая методы) являются объектами.

1 голос
/ 06 января 2009

После разбиения скрипта на значимые токены лексером, все становится объектом. Включая занятия. Даже буквальные константы типа 1 являются объектами. Некоторые объекты могут иметь синтаксис, который не является чисто ОО (т. Е. Синтаксическим сахаром), но в основном для более простого манипулирования. Хотя блоки не являются строго объектами (но, как кто-то сказал, могут быть преобразованы в один).

0 голосов
/ 04 февраля 2016

В случае присвоения переменной, т.е. product = 5 * 5 переменная не является объектом ... так что добавьте это в список

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...