1

私はRubyの初心者で、getsコマンドを使用して単語の配列( "dog"、 "cat"、 "ape")を並べ替えようとしています。getsとbecome( "ape"、 "cat"、 "犬")

私が試してみました:

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

これは私の娘が宿題をより早く分類し、タイプすることを学ぶのを助けることなので、どんな助けも素晴らしいでしょう。

4

2 に答える 2

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

puts "Sorted Values:"
puts list.sort

これは、「END」を指定するまで入力を受け付けます (これは必要に応じて変更できます)。

Array#sortを呼び出しています

于 2011-04-21T18:37:58.660 に答える
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 に答える