2011-04-21 108 views
1

我是Ruby noob,我试图使用gets命令对单词数组进行排序(“dog”,“cat”,“ape”)应该分别输入获取并成为(“猿”,“猫”,“狗”)使用gets命令在Ruby中按字母顺序对数组进行排序

我曾尝试:

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

任何帮助将是巨大的,因为这是帮助我的女儿排序她的功课更快学会类型。

回答

2

,如果你愿意,你也可以输入一次全部的话:

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

如果要单独阅读:从IRB

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

这只是复制/粘贴,但易足以制作成你想要的节目。

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

puts "Sorted Values:" 
puts list.sort 

这将采取输入,直到你给它“结束”(你可以根据自己的意愿改变它)。

我打电话给Array#sort

+0

多么令人难以置信的助手们。非常感谢。 – chris 2011-04-21 19:23:03

+0

没有问题@chris。祝你好运! – 2011-04-21 19:23:22

相关问题