On 6/19/07, Robert Klemme <shortcutter / googlemail.com> wrote: > On 19.06.2007 02:53, Just Another Victim of the Ambient Morality wrote: > > I have some funky Python code that I'm trying to modify but it's > > formatted with spaces instead of tabs, making it impossible to change. Now, > > there may be many different ways to solve this problem but the first impulse > > I had was to write a small Ruby script to reformat the code. > > Now, a certain pattern came up in my solution that I have seen before. > > I wanted to do something like this: > > > > num_tabs = num_spaces / tab_width > > tabs = num_tabs.collect { "\t" }.join > > > > ...but I discovered that there is not collect method in the integer > > object. The best I could come up with was: > > > > tabs = '' > > num_tabs.times { tabs << "\t" } > > > > Is there a more succinct, more Ruby-esque way to do this? > > Thank you... > > $ expand --help > Usage: expand [OPTION]... [FILE]... > Convert tabs in each FILE to spaces, writing to standard output. > With no FILE, or when FILE is -, read standard input. > > Mandatory arguments to long options are mandatory for short options too. > -i, --initial do not convert tabs after non blanks > -t, --tabs=NUMBER have tabs NUMBER characters apart, not 8 > -t, --tabs=LIST use comma separated list of explicit tab positions > --help display this help and exit > --version output version information and exit > > Report bugs to <bug-coreutils / gnu.org>. > > :-) Maybe this one would be better: unexpand --help Usage: unexpand [OPTION]... [FILE]... Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input. Mandatory arguments to long options are mandatory for short options too. -a, --all convert all blanks, instead of just initial blanks --first-only convert only leading sequences of blanks (overrides -a) -t, --tabs=N have tabs N characters apart instead of 8 (enables -a) -t, --tabs=LIST use comma separated LIST of tab positions (enables -a) --help display this help and exit --version output version information and exit Report bugs to <bug-coreutils / gnu.org>. :)