使用gets命令在Ruby中按字母顺序排序数组

时间:2011-04-21 18:28:54

标签: ruby sorting gets

我是一个Ruby noob,我只是试图使用gets命令来排序一个单词数组(“dog”,“cat”,“ape”)应该通过gets并成为(“ape”,“猫“,”狗“)

我试过了:

list = Object.new
list = []
word = STDIN.gets
list.push(word)
$/ = "END"
puts list

任何帮助都会很棒,因为这可以帮助我的女儿更快地完成家庭作业,并学习打字。

2 个答案:

答案 0 :(得分:1)

如果您愿意,也可以一次输入所有单词:

>> words = gets.chomp.split(/,\s*/).sort
dog, cat,ape                             #=> ["ape", "cat", "dog"]

如果您想单独阅读它们:

>> words = [] #=> []
>> until (word = gets.chomp).empty? do
..     words << word
..   end
cat
ape
dog
         #=> nil
>> words.sort #=> ["ape", "cat", "dog"]

这只是从IRB复制/粘贴,但很容易进入你想要的程序。

答案 1 :(得分:1)

list = []
until (word = gets.chomp) == "END"  do
  list << word
end

puts "Sorted Values:"
puts list.sort

这将接受输入,直到您将其设为“END”(您可以根据需要进行更改)。

我打电话给Array#sort