class [scope::] classname[<superexpr]
body
end
class<<obj
body
end
Ruby中类定义通过执行类代码体创建或者扩展Class的对象。
在第一种形式中,一个命名类将被创建或者被扩展。生成的Class对象被赋值给名为classname的常量。这个名字应该以一个大写字母打头。在第二种形式中,一个匿名单例类会和指定的对象相关联。
在方法体内,随着定义代码的读入,大多数的Ruby
表达式将被执行,然而:
方法定义将在类的对象的一个表中注册该方法。
嵌套的类和模块定义将被存储在类的常量中,而不是
全局常量中。在定义嵌套的类或者模块的类外面可以通过使用"::"修饰其名字来访问
他们。