我正在尝试编写一个程序,要求用户输入单词,然后我希望输入的单词存储在一个数组中,稍后按回车键后会在屏幕上打印。
这是我的代码,但它不起作用:
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
有人可以帮助我吗?
答案 0 :(得分:1)
您的代码存在许多问题,其中包括:
while
和loop
是无用的puts 'Enter your words:'
应在循环之外声明user_words
应在循环之外声明以累积值puts user_words.to_s
应该在循环之外打印最后的所有值push
elsif user_input == ""
过多,可以替换为else
Array.new
比[]
这是我的解决方案:
puts 'Enter your words:'
words = []
loop do
input = gets.chomp.capitalize
break if input == ''
words << input
end
puts words.to_s
我希望它有所帮助。