【发布时间】:2017-02-16 22:37:16
【问题描述】:
能否请比我更精通 ruby 的人回答为什么以下内容没有返回任何内容?
class ThreeAndFive
def initialize(low_number, high_number)
@total = 0
(low_number..high_number).each do |number|
if (number % 3 == 0 && number % 5 == 0)
@total += number
end
end
#puts @total here returns value of 33165
return @total
end
end
test = ThreeAndFive.new(1,1000)
#This returns nothing but "#<ThreeAndFive:0x25d71f8>"
puts test
puts 测试的结果不应该和我在课堂上直接在 @total 上调用 puts 的结果一样吗?
【问题讨论】:
-
我不了解 Ruby,但在我看来,您好像是在实例化一个对象并将其分配给
test,而不是调用函数并将返回分配给test。
标签: ruby class return-value