普通的实例变量 普通的实例变量,我们没法在 class 外面直接访问 #普通的实例变量,只能在 class 内部访问 class C1 def initialize(name) @name = name end end t1 = C1.new( {'a' => 1, 'b' => 2}) puts t1.name #报错: undefined method `name' for #<Context::C1:0x0000000142cd30 @name={:a=>1, :b=>…
attr_reader方法------读取实例变量 attr_writer方法------改写实例变量 attr_accessor方法-----读写实例变量 class Person attr_reader :name ---------1 attr_writer :name ---------2 def initialize(name) @name = name end end 1 相当于: def name @name end 2 相当于:def name=(value) @name = v…
我们可以认为module是一个专门存放一系列方法和常量的工具箱. module和class非常像, 只是module不能创建实例也不能有子类, 它们仅仅能存放东西. 例如: module Circle PI = 3.141592653589793 def Circle.area(radius) PI * radius**2 end def Circle.circumference(radius) 2 * PI * radius end end module书写格式 module ModuleNa…