Вы также можете ввести все слова сразу, если хотите:
>> 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, но достаточно простое, чтобы встроить в нужную программу.