我正在尝试创建一个输出每个数字的程序,以及它是否可以被数字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发布于 2014-09-08 03:10:56
变量以小写开头,否则将被视为常量。如果您重新初始化一个常量,您将收到该警告。
arrayOfMultiples下面这样一个简单的程序就可以演示这种行为:
A = 1
A = 2当你运行上面的脚本时,它会说:
test.rb:2: warning: already initialized constant A
test.rb:1: warning: previous definition of A was here发布于 2014-09-08 10:15:32
你也可以让这件事变得更简单:
(1..200).each do |x|
divisible_by = (2..9).select {|y| x%y==0}
puts "#{x}: #{divisible_by.join(", ")}"
endhttps://stackoverflow.com/questions/25713753
复制相似问题