ruby中的静态/实例变量
发布时间:2020-12-17 02:32:04 所属栏目:百科 来源:网络整理
导读:我是一个 Ruby新手.有一个关于静态和实例变量的基本问题. class Test def self.init @@var_static = 1 @member = 2 end def self.print puts "@@var_static: #{@@var_static}" puts "@member: #{@member}" endendTest.initTest.print 为什么上面的代码允许初
我是一个
Ruby新手.有一个关于静态和实例变量的基本问题.
class Test def self.init @@var_static = 1 @member = 2 end def self.print puts "@@var_static: #{@@var_static}" puts "@member: #{@member}" end end Test.init Test.print 为什么上面的代码允许初始化成员变量:@member,在静态方法中:Test :: init?我的理解是@member的使用会抛出一个错误,因为它没有绑定任何类Test的实例.但是不会抛出任何错误. 解决方法
类是一个对象的实例,并且可以像任何其他对象一样拥有实例变量:
>> Fixnum.class => Class Fixnum类是Class的一个实例! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |