如何使用Nil条目终止Ruby数组排序程序

时间:2018-02-18 00:18:18

标签: ruby

Noob ruby​​ist在这里,通过“学习编程”。我已经设置了以下代码来获取用户条目和排序,但我无法弄清楚如何在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

3 个答案:

答案 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