Ruby之类定义
介绍几种不常见的类定义方法:
?
1. Struct
?
?
2. Class.new
我们是怎么定义一个类的?
?
module Mod def attr_reader(*syms) syms.each do |sym| instance_eval %{ def #{sym} @#{sym} end} end end end class A extend Mod attr_reader :name @name = "jinbin" def initialize end end puts A.name由于class_eval生成的是实例方法,instance_eval生成的是类方法,所以调用上有所区别,在代码中都有体现。此处可以细细深究一下,注意self的值。?