Ruby类变量初始值
发布时间:2020-12-17 01:36:36 所属栏目:百科 来源:网络整理
导读:参见英文答案 Total newbie: Instance variables in ruby?????????????????????????????????????4个 在PHP中我写道: Class Test{ public $a=100;}$a=new Test();echo $a-a; //prints 100 它打印100,但在我写的时候是ruby: class Test @a=100 attr_accessor
参见英文答案 >
Total newbie: Instance variables in ruby?????????????????????????????????????4个
在PHP中我写道: Class Test{ public $a=100; } $a=new Test(); echo $a->a; //prints 100 它打印100,但在我写的时候是ruby: class Test @a=100 attr_accessor :a end a=Test.new puts a.a #=> prints nil a为零,打印为零.为什么? 解决方法
你混合了一些东西.
你用@a = 100定义的是一个类实例变量. 您将使用attr_accessor访问的内容:a是一个实例变量@a. 实例变量用法示例: class A def initialize a @a = a end attr_accessor :a end instance = A.new(2) #=> 2 instance.instance_variables #=> [:@a] instance.a #=> 2 类实例变量用法示例: class A @a = 1 class << self attr_accessor :a end end A.a #=> nil A.a = 2 #=> 2 A.a #=> 2 instance = A.new instance.class.a # access instance's class instance variable #=> 2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |