Noob rubyist在这里,通过“学习编程”。我已经设置了以下代码来获取用户条目和排序,但我无法弄清楚如何在nil条目上结束程序而不是当前设置的'done'。设置用户=='',显然会在进行任何输入之前终止。任何帮助是极大的赞赏!
array = []
user = ''
puts "Type as many words as you like. Press enter to end."
until user == 'done'
user = gets.chomp
array.push user
end
puts
puts array.sort
答案 0 :(得分:0)
从nil
开始变量,以便它至少第一次执行正文
user = nil
until user == ''
user = gets.chomp
array.push user
end
答案 1 :(得分:0)
这是另一个不会将空白用户添加到数组的实现。虽然使用比loop
更具体的构造会很好,loop
可以为我们提供我们所需要的。
users = []
loop do
user = gets.chomp
if user != ''
users << user
else
break
end
end
puts users
答案 2 :(得分:0)
您的消息显示“按Enter键结束”。因此,我建议您一次性获取用户输入,将字符串拆分为单词,排序和显示。
user = ''
puts "Type as many words as you like. Press enter to end."
user = gets.chomp
array = user.split
puts array.sort