Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: More about ${(l:e::s1::s2:)param}

Bart Schaefer wrote:

> The info says:
> `l:'EXPR`::'STRING1`::'STRING2`:'
>      Pad the resulting words on the left.  Each word will be truncated
>      if required and placed in a field EXPR characters wide.  The space
>      to the left will be filled with STRING1 (concatenated as often as
>      needed) or spaces if STRING1 is not given.  If both STRING1 and
>      STRING2 are given, this string will be placed exactly once
>      directly to the left of the resulting word.
> `r:'EXPR`::'STRING1`::'STRING2`:'
>      As `l', but pad the words on the right.
> Apparently "the resulting word" is "the word before padding with STRING1":
> zagzig<1> foo=77
> zagzig<2> print -- ${(l:5::0::x:)foo}
> 00x77
> zagzig<3> print -- ${(r:5::0::x:)foo} 
> 77x00
> The doc phrasing led me to expect x00077 and 77000x.  What needs fixing,
> the doc or the code?

The doc. At least what you get is what I intended when I added this
(we had some real-world example for the use of this at the time, but I 
don't remember it anymore).


Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx

Messages sorted by: Reverse Date, Date, Thread, Author