如何将"获取"输入放入数组中?

Rub*_*Stn 4 ruby arrays

Ruby noob在这里学习绳索.我目前正在阅读本教程并正在进行此练习:

让我们编写一个程序,要求我们输入尽可能多的单词(每行一个单词,一直持续到我们只需按空行上的Enter键),然后按字母顺序将单词重复给我们.

我现在忽略了字母顺序部分.

这是我的代码:

puts 'Hi, do you need something sorted?'
yn = gets.chomp
while yn != 'no'
  puts 'What else?'
  array = [gets]
  yn = gets.chomp
end
puts 'Here\'s what you told me: ' +array.to_s
Run Code Online (Sandbox Code Playgroud)

我已经调整了几个小时.为了防止我的笔记本电脑因挫败感而破坏我正在休息.任何有更多经验,可能更有耐心的人都可以指出我的错误吗?

Mar*_*don 7

请记住,每次你gets是一个要求用户输入的方法.在你的线上:

array = [gets]
yn = gets.chomp
Run Code Online (Sandbox Code Playgroud)

你实际上要求输入两次.相反,将用户输入存储在某处(例如数组,见下文)并获取存储的值而不是向用户询问两次.

此外,array = [gets]用包含一个元素(用户输入)的数组替换现有数组.您永远不会在数组中构建用户输入.相反,在while循环之前初始化数组并在循环中使用<<:

array = Array.new
...
while yn != "no"
  ...
  array << gets.chomp
  yn = array.last
  ...
end
Run Code Online (Sandbox Code Playgroud)