Shiloh Madsen
11/21/2006 12:00:00 PM
Ok, I think i understand that...however the shift function hasn't been
introduced yet. Is there another way that i COULD do it?
On 11/20/06, Morton Goldberg <m_goldberg@ameritech.net> wrote:
>
> On Nov 20, 2006, at 6:07 PM, Shiloh Madsen wrote:
>
> > Ok, so the chapter I am working on now is asking for me to write a
> > table of contents with the title left justified and the pages right
> > justified. I did this much earlier in the book with individual lines,
> > and it came out fine. The code I used initially was :
> >
> > line_width = 60
> > puts ("Chapter 1: Getting Started".ljust(line_width/2) + "page
> > 1".rjust(line_width/2))
> > puts ("Chapter 2: Numbers".ljust(line_width/2) + "page 9".rjust
> > (line_width/2))
> > puts ("Chapter 3: Letters".ljust(line_width/2) + "page 13".rjust
> > (line_width/2))
> >
> > The chapter I am reading now is about arrays, so I am supposed to load
> > the same data into an array and accomplish the same task. What Ive
> > tried is several variations on this:
> >
> > chapters = ['Chapter 1: Getting started','Chapter 2: Numbers',
> > 'Chapter 3: Letters']
> > pages = ['page 1','page 9', 'page 13']
> > line_width = 60
> > puts (chapters.ljust(line_width/2) + pages.rjust(line_width/2))
> >
> > ...with the last line having changed a number of times. Obviously, I
> > haven't been able to get the code to run right. Could anyone tell me
> > what I am missing?>
> The problem is that an array doesn't respond to either ljust or
> rjust. You need to extract the strings from their containing arrays.
> Also, it's easier to use one array than two, so I recommend something
> like:
>
> source = [
> 'Chapter 1: Getting started',
> 'page 1',
> 'Chapter 2: Numbers',
> 'page 9',
> 'Chapter 3: Letters',
> 'page 13'
> ]
> line_width = 60
> until source.empty?
> chapter = source.shift
> page = source.shift
> puts chapter.ljust(line_width/2) + page.rjust(line_width/2)
> end
>
> Regards, Morton
>
>
>
>