我想了解这段代码。
我正在尝试将其初始化为零。 def seconds=()
,这是什么意思?
我必须致电def seconds
来获取变量。如果我只是放attr_accessor :seconds
?
require 'time'
class Timer
def seconds=(seconds)
@second = seconds
end
def seconds
@seconds
end
end
答案 0 :(得分:2)
是的,它是一样的。
attr_accessor :seconds
为您创建@seconds
实例变量的setter和getter,因此您无需明确地执行此操作。
此外,您在设置器中错误地命名为@second
。
答案 1 :(得分:1)
要将类变量自动初始化为零,请定义它,然后覆盖其读取器方法:
class Timer
attr_accessor :seconds
def seconds
@seconds ||= 0
end
end