Forum: Ruby Chris Pine tutorial assistance chapter 7 sort data without use of .sort method

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
27e6171a66f1d99938f15d77f643e32f?d=identicon&s=25 unknown (Guest)
on 2008-11-25 00:26
(Received via mailing list)
I'm learning to program and came across Chris Pine's Ruby Tutorial.

I've got to the Array and Iterators chapter (

and the following assignment " Let's write a program which asks us to
type in as many words as we want (one word per line, continuing until
we just press Enter on an empty line), and which then repeats the
words back to us in alphabetical order. OK? "

****** HOWEVER I'm not allowed to use the .sort method ********

The covered chapters (1 ~ 7) have not covered method creation,
Classes, Blocks or Procs, so the challenge is to solve the assignment
without using them ( which is dandy since I don't know what they are
and I want to solve this assignment before I move forward to discover
what they are).

This is what I've come up with so far, however when run.... It's not
working - surprise surprise.

Could someone initially give me an idea of what is going wrong rather
than rectify my code.

puts 'Type in as many words as you want and once you\'ve had enough,
just \'enter\' a clear line.'

words_array = []

loop do
  input = gets.downcase.chomp
  break if input.empty?
  words_array << input


wordCheck = words_array.last
rotateCounter = 0
sortedWords_array = []
until words_array.length == 0
       while rotateCounter <= words_array.length
               if words_array[0] >= wordCheck

                       words_array.push words_array.shift
                       rotateCounter = rotateCounter + 1

               else wordCheck = words_array[0]
                       rotateCounter = 0

       sortedWords_array.push wordCheck

       until wordCheck = words_array.last
               words_array.push words_array.shift
       rotateCounter = 0
       wordCheck = words_array.last
puts sortedWords_array

# Any help greatly appreciated
This topic is locked and can not be replied to.