【发布时间】:2014-09-07 19:05:42
【问题描述】:
我正在尝试创建一个程序来输出每个数字以及它是否可以被数字 2-9 整除。我通过迭代 2-9 并将每个数字推送到数组中来做到这一点,但是,编译时出现错误:
/Users/XXX/XXX/XXX/XXX.rb:3: warning: already initialized constant ArrayOfMultiples
如何消除此错误?
这是我的代码:
(1..200).each do |number|
output_str = ""
ArrayOfMultiples = Array.new
(2..9).each do |multiple|
if number%multiple == 0
ArrayOfMultiples.push(multiple)
end
end
output_str = number.to_s + " is divisble by " + ArrayOfMultiples.join(", ")
puts output_str
end
【问题讨论】:
-
ArrayOfMultiples,因为它以大写字母开头,是一个常数。您可以更改常量的值,但 Ruby 会在您这样做时发出警告。您想将其重命名为变量并按如下方式对其进行初始化:array_of_multiples = []或array_of_multiples = Array.new。 Here 是对 Ruby 命名约定的描述。