“一切都是对象”是我学习Ruby的第一件事,但在Peter Cooper的 Beginning Ruby:从新手到专业中,提到“ 差不多 Ruby中的所有东西都是一个对象“。
你能否给我一些 的例子,这些 不是Ruby中的对象?
答案 0 :(得分:13)
跳到我脑海中最明显的就是积木。通过在参数列表中使用Proc
参数表单或使用&block
,lambda
,proc
或Proc.new
,可以轻松将块简化为{{1}}个对象。 (在Ruby 1.9中)“stabby lambda”语法。但就其本身而言,它们不是对象。
另一个例子是运营商。
答案 1 :(得分:4)
一般语言结构等......
我认为其他所有东西(包括方法)都是对象。
答案 2 :(得分:1)
在词法分析器将脚本拆分为有意义的标记后,一切都是对象。包括课程。甚至像1
这样的文字常量也是对象。有些对象的语法可能不是纯粹的OO(即语法糖),但这主要是为了方便操作而不是任何东西。块虽然不是严格的对象(但可以像某人说的那样转换成一个)。
答案 3 :(得分:0)
在变量分配的情况下,即
product = 5 * 5
变量不是对象...所以将其添加到列表