1

我是一个 Ruby 菜鸟,我只是尝试使用 gets 命令对一组单词(“dog”、“cat”、“ape”)进行排序,这些单词应该由 gets 单独输入并成为(“ape”、“cat”、 “狗”)

我试过了:

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

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

4

2 回答 2

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 复制/粘贴,但很容易制作成您想要的程序。

于 2011-04-21T18:35:58.063 回答
1
list = []
until (word = gets.chomp) == "END"  do
  list << word
end

puts "Sorted Values:"
puts list.sort

这将接受输入,直到您给它“END”(您可以根据需要更改它)。

我打电话给数组#sort

于 2011-04-21T18:37:58.660 回答