【发布时间】:2015-01-12 05:03:11
【问题描述】:
我正在尝试创建一个 fizzbuzz 类,但是我感觉好像我没有完全理解 Ruby 中的类和对象是如何工作的。
这是我要解决的问题如下:
构建一个名为 FizzBuzz 的类,它接受两个数字作为参数,然后有一个名为 run 的方法返回一个 fizzbuzz 数组(从 1 到 100 的数字,被第一个数字整除的数字被 'fizz' 替换,数字被第二个替换数字替换为“嗡嗡声”和可被两者整除的数字替换为“fizzbuzz”)。例如,此代码应该适用于您的课程:
fb = FizzBuzz.new(3,5)
fb.run # returns an array like: [1, 2, 'fizz', 4, 'buzz, ..]
然后我需要修改我的解决方案以使其灵活并能够在创建对象后更改数字。我现在并不担心这部分!
这是我目前所拥有的:
class FizzBuzz(num1, num2)
def run
nums = [1..100]
for i in nums
if i % num1 == 0 && i % num2 == 0
puts "fizbuzz"
elsif i % num1 == 0
puts "fizz"
elsif i % num2 == 0
puts "buzz"
else puts i
end
end
end
fb = FizzBuzz.new(3, 5)
fb.run
干杯,
布兰丁
【问题讨论】:
-
除了你第一次偶然发现的想法之外,还有什么理由实现这样的算法吗?
标签: ruby-on-rails ruby class object fizzbuzz