Итак, мне любопытно, как Ruby - полностью объектно-ориентированный язык. Я наткнулся на одну проблему, которая мне не совсем понятна.
Если я определяю функцию следующим образом
def foo(text)
print text
end
и я определяю функцию вне класса, как эта функция является объектом? Я понимаю, что я могу позвонить
foo.class
И я получаю NilClass. Означает ли это, что foo является экземпляром NilClass? И если это так, что это значит, когда я называю
foo "hello world"
Если foo является объектом, какой метод я вызываю, когда я делаю выражение, как указано выше. Кроме того, если это объект, означает ли это, что я могу изменить его и добавить к нему другой метод (скажем, бар), где я мог бы сделать следующий статус:
foo.bar(some variables)
Извините, я немного немного смущен в этом вопросе. Любое разъяснение очень ценится! Спасибо!