【发布时间】:2011-03-07 14:13:21
【问题描述】:
所以,我很好奇 Ruby 如何成为一种完全面向对象的语言。我偶然发现了一个我不太清楚的问题。
如果我如下定义一个函数
def foo(text)
print text
end
我在一个类之外定义函数,这个函数怎么是一个对象?我意识到我可以打电话
foo.class
我得到了 NilClass。这是否意味着 foo 是 NilClass 的一个实例?如果是的话,我打电话的时候到底是什么意思
foo "hello world"
如果 foo 是一个对象,当我做出上述语句时,我调用的是什么方法。另外,如果它是一个对象,这是否意味着我可以修改它并向它添加另一个方法(比如 bar),我可以在其中做出以下声明:
foo.bar(some variables)
抱歉,我只是在这一点上有点困惑。非常感谢任何澄清!谢谢!
【问题讨论】: