Trying to do some fancy formatting and getting an error message.
Since I know .center is a method the error message can't be the
ultimate truth. Anyone ?
Table of Contents <------This is corect
toc.rb:8: undefined method `center' for [2]:Array (NoMethodError)
Exit code: 1
toc = ['Table of Contents', 'Chapter 1', 'Getting Started',
'page 1', 'Chapter 2', 'Numbers', 'page 9',
'Chapter 3', 'Letter', 'page 13']
line_width = 70
puts( toc[0].center(line_width))
puts( toc[1].ljust(line_width/2) +
[2].center(line_width) +[3].rjust(line_width/2))
puts( toc[4][5][6])
puts( toc[7][8][9])
Tia
Stuart
Trying to do some fancy formatting and getting an error message.
Since I know .center is a method the error message can't be the
ultimate truth. Anyone ?
I'm not sure what you're implying here, but as the error message
indicates Array#center is nonexistent. You probably want
String#center as in
irb(main):002:0> "fff".center 10
=> " fff "
You also probably missed a toc there:
Table of Contents <------This is corect
toc.rb:8: undefined method `center' for [2]:Array (NoMethodError)
>Exit code: 1
toc = ['Table of Contents', 'Chapter 1', 'Getting Started',
'page 1', 'Chapter 2', 'Numbers', 'page 9',
'Chapter 3', 'Letter', 'page 13']
line_width = 70
puts( toc[0].center(line_width))
puts( toc[1].ljust(line_width/2) +
[2].center(line_width) +[3].rjust(line_width/2))
^^^
"toc" missing here.
puts( toc[4][5][6])
puts( toc[7][8][9])
Cheers
robert
···
2006/6/24, Dark Ambient <sambient@gmail.com>:
--
Have a look: Robert K. | Flickr
Hopefully it was a beginners mistake and not a pattern of my own logic
Thanks Robert!
Stuart
···
On 6/24/06, Robert Klemme <shortcutter@googlemail.com> wrote:
2006/6/24, Dark Ambient <sambient@gmail.com>:
> Trying to do some fancy formatting and getting an error message.
> Since I know .center is a method the error message can't be the
> ultimate truth. Anyone ?
I'm not sure what you're implying here, but as the error message
indicates Array#center is nonexistent. You probably want
String#center as in
irb(main):002:0> "fff".center 10
=> " fff "
You also probably missed a toc there:
> Table of Contents <------This is corect
> toc.rb:8: undefined method `center' for [2]:Array (NoMethodError)
> >Exit code: 1
>
> toc = ['Table of Contents', 'Chapter 1', 'Getting Started',
> 'page 1', 'Chapter 2', 'Numbers', 'page 9',
> 'Chapter 3', 'Letter', 'page 13']
>
> line_width = 70
>
> puts( toc[0].center(line_width))
> puts( toc[1].ljust(line_width/2) +
> [2].center(line_width) +[3].rjust(line_width/2))
^^^
"toc" missing here.
> puts( toc[4][5][6])
> puts( toc[7][8][9])
>
Cheers
robert
--
Have a look: Robert K. | Flickr
.rjust dosn't seem to be working correctly, no error, but it's not
right justifying either.
my output for the .rjust looks like this:
Chapter 1 Getting Started
page 1
Chapter 2 Numbers
page 9
Chapter 3 Letter
page 13
here is the first line (Chapter 1...)
puts( toc[1].ljust(line_width) + toc[2].ljust(line_width)
+ toc[3].rjust(line_width))
I hand tweaked teh .rjust parameter with hard numbers .rjust(20)
.rjust(25), etc and that helped but I thought .rjust would
make sure the last letters of the strings would all line up.
Stuart
···
On 6/24/06, Dark Ambient <sambient@gmail.com> wrote:
Hopefully it was a beginners mistake and not a pattern of my own logic
Thanks Robert!
Stuart
On 6/24/06, Robert Klemme <shortcutter@googlemail.com> wrote:
> 2006/6/24, Dark Ambient <sambient@gmail.com>:
> > Trying to do some fancy formatting and getting an error message.
> > Since I know .center is a method the error message can't be the
> > ultimate truth. Anyone ?
>
> I'm not sure what you're implying here, but as the error message
> indicates Array#center is nonexistent. You probably want
> String#center as in
>
> irb(main):002:0> "fff".center 10
> => " fff "
>
> You also probably missed a toc there:
>
> > Table of Contents <------This is corect
> > toc.rb:8: undefined method `center' for [2]:Array (NoMethodError)
> > >Exit code: 1
> >
> > toc = ['Table of Contents', 'Chapter 1', 'Getting Started',
> > 'page 1', 'Chapter 2', 'Numbers', 'page 9',
> > 'Chapter 3', 'Letter', 'page 13']
> >
> > line_width = 70
> >
> > puts( toc[0].center(line_width))
> > puts( toc[1].ljust(line_width/2) +
> > [2].center(line_width) +[3].rjust(line_width/2))
> ^^^
>
> "toc" missing here.
>
> > puts( toc[4][5][6])
> > puts( toc[7][8][9])
> >
> Cheers
>
> robert
>
> --
> Have a look: http://www.flickr.com/photos/fussel-foto/
>
For this scenario sprintf / printf are probably better suited.
Kind regards
robert
···
2006/6/24, Dark Ambient <sambient@gmail.com>:
.rjust dosn't seem to be working correctly, no error, but it's not
right justifying either.
my output for the .rjust looks like this:
Chapter 1 Getting Started
page 1
Chapter 2 Numbers
page 9
Chapter 3 Letter
page 13
here is the first line (Chapter 1...)
puts( toc[1].ljust(line_width) + toc[2].ljust(line_width)
+ toc[3].rjust(line_width))
I hand tweaked teh .rjust parameter with hard numbers .rjust(20)
.rjust(25), etc and that helped but I thought .rjust would
make sure the last letters of the strings would all line up.
--
Have a look: Robert K. | Flickr