2
如何在同一班级轻松访问二传手?如何轻松访问class setter?
可以说我有这个调用:
# some_file.rb , create a new object
temperature = Measurement.new 'temperature', 36.6
和模型:
# Measurements.rb , some model
class Measurement
attr_accessor :value, :type
attr_reader :device, :title, :label
def initialize type, value
# This one works, but not trigger the setter
@type = type
# And this one trigger setter
self.type = type
end
def type= new_type
# do something very important
end
end
这是否意味着我总是需要使用self.var =
代替@var =
如果我想使用这个setter方法变量,而不是在类中的任何地方重命名它?有没有更多的差异,以及一些更好的方法来添加一个setter?
您的代码很混乱。在定义构造函数之前,您将无法创建实例。代码中的顺序是错误的,或者您需要明确指出您引用了代码的两个不同部分。 – sawa
谢谢,它实际上是两个不同的文件。 – lifecoder