Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Another Chris Pine Tutorial Question

Reply
Thread Tools

Another Chris Pine Tutorial Question

 
 
danielj
Guest
Posts: n/a
 
      08-30-2008
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?

So... first we'll—uh... um... hmmm... Well, we could—er... um...

You know, I don't think we can do it. We need a way to store an
unknown amount of words, and how to keep track of them all together,
so they don't get mixed up with other variables. We need to put them
in some sort of a list. We need arrays.
puts "Let's make a shopping list!"

shoplist = []

while shoplist.last != ''

shoplist.push(gets.downcase.chomp)

end

shoplist.pop


puts shoplist.sort

The program asks for one word per line but there is no way one can do
that utilizing the methods the tutorial has expounded upon up to this
point so I settled for what I got here.

However, it asks you to then do this:

• Try writing the above program without using the sort method. A large
part of programming is solving problems, so get all the practice you
can!

Could somebody point me in the right direction, or give me an example
of how that would be possible? I'm racking my brain but I can not
think of a way to do it without using methods and tools that you are
not yet supposed to use at this point in the tutorial (i.e. regex)
 
Reply With Quote
 
 
 
 
danielj
Guest
Posts: n/a
 
      08-30-2008
testing
 
Reply With Quote
 
 
 
 
Robert Klemme
Guest
Posts: n/a
 
      08-31-2008
On 30.08.2008 22:55, danielj wrote:
> However, it asks you to then do this:
>
> • Try writing the above program without using the sort method. A large
> part of programming is solving problems, so get all the practice you
> can!
>
> Could somebody point me in the right direction, or give me an example
> of how that would be possible? I'm racking my brain but I can not
> think of a way to do it without using methods and tools that you are
> not yet supposed to use at this point in the tutorial (i.e. regex)


The trick I assume Chris is targeting at is to insert words at the
correct position. That way your list is always sorted and you do not
need an explicit sort operation.

Kind regards

robert

 
Reply With Quote
 
Graham Ashton
Guest
Posts: n/a
 
      08-31-2008
On 2008-08-31 13:00:33 +0100, Robert Klemme <> said:

> The trick I assume Chris is targeting at is to insert words at the
> correct position. That way your list is always sorted and you do not
> need an explicit sort operation.


That's a good idea. Or I suppose you could implement your own sorting
method and call that instead.

 
Reply With Quote
 
timr
Guest
Posts: n/a
 
      09-01-2008
On Aug 30, 1:55*pm, danielj <sleepingind...@gmail.com> wrote:
> *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?
>
> So... first we'll—uh... um... hmmm... Well, we could—er... um...
>
> You know, I don't think we can do it. We need a way to store an
> unknown amount of words, and how to keep track of them all together,
> so they don't get mixed up with other variables. We need to put them
> in some sort of a list. We need arrays.
> puts "Let's make a shopping list!"
>
> shoplist = []
>
> while shoplist.last != ''
>
> shoplist.push(gets.downcase.chomp)
>
> end
>
> shoplist.pop
>
> puts shoplist.sort
>
> The program asks for one word per line but there is no way one can do
> that utilizing the methods the tutorial has expounded upon up to this
> point so I settled for what I got here.
>
> However, it asks you to then do this:
>
> • Try writing the above program without using the sort method. A large
> part of programming is solving problems, so get all the practice you
> can!
>
> Could somebody point me in the right direction, or give me an example
> of how that would be possible? I'm racking my brain but I can not
> think of a way to do it without using methods and tools that you are
> not yet supposed to use at this point in the tutorial (i.e. regex)


words = []
loop do #loop allows one to do an indefinite amount
of something--must set an exit
#inside of the loop.
incoming = gets
if incoming == "\n" then #if a blank line is entered, we are done.
Sort and puts the list.
puts words.sort
exit
else
words << incoming #if data is entered, add it to the array of
words.
end
end

#=>
alphabet soup
bananas
coca cola
hot dogs
kool aid
lettuce
milk
potatoes
spinach
sugar

Tim Rand
 
Reply With Quote
 
timr
Guest
Posts: n/a
 
      09-01-2008
On Aug 31, 11:21*pm, timr <timra...@gmail.com> wrote:
> On Aug 30, 1:55*pm, danielj <sleepingind...@gmail.com> wrote:
>
>
>
> > *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?

>
> > So... first we'll—uh... um... hmmm... Well, we could—er... um...

>
> > You know, I don't think we can do it. We need a way to store an
> > unknown amount of words, and how to keep track of them all together,
> > so they don't get mixed up with other variables. We need to put them
> > in some sort of a list. We need arrays.
> > puts "Let's make a shopping list!"

>
> > shoplist = []

>
> > while shoplist.last != ''

>
> > shoplist.push(gets.downcase.chomp)

>
> > end

>
> > shoplist.pop

>
> > puts shoplist.sort

>
> > The program asks for one word per line but there is no way one can do
> > that utilizing the methods the tutorial has expounded upon up to this
> > point so I settled for what I got here.

>
> > However, it asks you to then do this:

>
> > • Try writing the above program without using the sort method. A large
> > part of programming is solving problems, so get all the practice you
> > can!

>
> > Could somebody point me in the right direction, or give me an example
> > of how that would be possible? I'm racking my brain but I can not
> > think of a way to do it without using methods and tools that you are
> > not yet supposed to use at this point in the tutorial (i.e. regex)



SORRY. AFTER FIXING THE COMMENTS TO BE MORE READABLE--

>
> words = []
> loop do * * * * * * * * * #loop allows one to do an indefinite amount
> #of something--must set an exit
> * * * * * * * * * * * * * #inside of the loop.
> incoming = gets
> if incoming == "\n" then *#if a blank line is entered, we are done.
> #Sort and puts the list.
> * puts words.sort
> * exit
> else
> * words << incoming * * * #if data is entered, add it to the array of
> words.
> end
> end
>
> #=>
> alphabet soup
> bananas
> coca cola
> hot dogs
> kool aid
> lettuce
> milk
> potatoes
> spinach
> sugar
>
> Tim Rand


 
Reply With Quote
 
timr
Guest
Posts: n/a
 
      09-01-2008
words = []
loop do #loop allows one to do an indefinite amount
# of something--must set an exit
#inside of the loop.
incoming = gets
if incoming == "\n" then #if a blank line is entered, we are done.
#Sort and puts the list.
puts words.sort
exit
else
words << incoming #if data is entered, add it to the array of
words.
end
end

#=>
alphabet soup
bananas
coca cola
hot dogs
kool aid
lettuce
milk
potatoes
spinach
sugar

Tim Rand
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming Noob Chris Pine Tutorial sorting without use ofarray.sort method whisperjim Ruby 9 08-31-2009 02:13 AM
Chris Pine tutorial assistance chapter 7 sort data without use of.sort method jgheal@googlemail.com Ruby 9 11-27-2008 07:36 PM
Chris Pine tutorial assistance chapter 7 sort data without use of.sort method jgheal@googlemail.com Ruby 0 11-24-2008 11:21 PM
Chris Pine Tutorial 99 Bottles of Beer Program danielj Ruby 10 08-28-2008 05:27 PM
Learn to Program, by Chris Pine Jan_K Ruby 61 05-28-2008 05:40 PM



Advertisments