首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ruby中将数字压入数组

在Ruby中将数字压入数组
EN

Stack Overflow用户
提问于 2014-09-08 03:05:43
回答 2查看 66关注 0票数 1

我正在尝试创建一个输出每个数字的程序,以及它是否可以被数字2-9整除。我通过迭代2-9并将每个数字压入一个数组来实现这一点,但是,在编译时出现错误:

代码语言:javascript
复制
/Users/XXX/XXX/XXX/XXX.rb:3: warning: already initialized constant ArrayOfMultiples

如何删除此错误?

下面是我的代码:

代码语言:javascript
复制
(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
EN

回答 2

Stack Overflow用户

发布于 2014-09-08 03:10:56

变量以小写开头,否则将被视为常量。如果您重新初始化一个常量,您将收到该警告。

代码语言:javascript
复制
arrayOfMultiples

下面这样一个简单的程序就可以演示这种行为:

代码语言:javascript
复制
A = 1
A = 2

当你运行上面的脚本时,它会说:

代码语言:javascript
复制
test.rb:2: warning: already initialized constant A
test.rb:1: warning: previous definition of A was here
票数 2
EN

Stack Overflow用户

发布于 2014-09-08 10:15:32

你也可以让这件事变得更简单:

代码语言:javascript
复制
(1..200).each do |x|
  divisible_by = (2..9).select {|y| x%y==0}
  puts "#{x}: #{divisible_by.join(", ")}"
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25713753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档