新手问题 如何访问 @c

rdongxie · June 02, 2016 · Last by piecehealth replied at June 02, 2016 · 2227 hits

在 self.extended 中初始化一个@c,如何访问呢? 代码如下:

module ParentModule
  def self.extended(base)
    puts 'i am a parent module.'
    @c = 'i am c from parent module.'
    base.class_eval do
      @a = "i am a from parent module."
    end
  end

  def c
    @c
  end

  def a
    @a
  end
end
$LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w( . ))
require 'exaa'
class SonClass
  extend ParentModule
end
s = SonClass.new
puts SonClass.class_variables
puts SonClass.c #这样访问不了。
puts SonClass.a

实例变量不是不能在外部直接访问只能定义 set 和 get 方法间接访问的么?

You need to Sign in before reply, if you don't have an account, please Sign up first.