cattr_accessor是 Ruby on Rails ActiveSupport一部分,不像attr_accessorn是Ruby的语言特色.
cattr_accessor 是类级别上的attr_accessor,属于singleton方法。
class Counter cattr_accessor :class_count attr_accessor :instance_count end counter1 = Counter.new counter1.instance_count = 1 counter1.class_count = 1 counter2 = Counter.new p counter2.instance_count #> nil p counter2.class_count #> 1
他们字面上的的不同就是类变量和实例变量的getter/setter方法。
@@class_count @instance_count
1 |
@@class_count |
2 |
@instance_count |