我用 Ruby 做了个 IT 类的问答社区乐维 UP,很多 Ruby 的 information,贴过来跟大家分享。
问:在 Ruby 中经常提到的 meta-programming, meta-class, meta-information 等等,这里的 meta 是什么意思? { 'meta-programming' => '元编程' } ? 但是“元”是啥? ‘meta’前缀意在强调什么?
答:要理解元编程,首先要理解什么是 meta-class.
先来看一个例子:
class Person end
tom = Person.new
Person.class #=> Class
tom.class #=> Person
这个例子里,tom 是 Person 的实例,Person 是 Class 的实例。换句话说,ruby 里面所有的对象都是某一个类的实例,每一个实例都有一个 Class,在 Class 里面定义的方法对这个 Class 的所有实例有效。
。。。不支持 code 格式,还是贴链接吧:http://leweiup.com/questions/669