Ruby - 如何在循环中向数组添加值?

时间:2017-08-28 01:13:03

标签: arrays ruby loops

我正在尝试编写一个程序,要求用户输入单词,然后我希望输入的单词存储在一个数组中,稍后按回车键后会在屏幕上打印。

这是我的代码,但它不起作用:

while loop do
  puts 'Enter your words:'

  user_input = gets.chomp.capitalize

  if user_input != ''
    user_words = Array.new
    user_input.push user_words
  elsif user_input == ''
    puts user_words.to_s
    break
  end
end

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的代码存在许多问题,其中包括:

  1. 在一个声明中使用whileloop是无用的
  2. puts 'Enter your words:'应在循环之外声明
  3. user_words应在循环之外声明以累积值
  4. puts user_words.to_s应该在循环之外打印最后的所有值
  5. 应该在不在字符串上的数组上调用
  6. push
  7. elsif user_input == ""过多,可以替换为else
  8. Array.new[]
  9. 更糟糕

    这是我的解决方案:

    puts 'Enter your words:'
    
    words = []
    
    loop do
      input = gets.chomp.capitalize
      break if input == ''
      words << input
    end
    
    puts words.to_s
    

    我希望它有所帮助。