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>. :-) robert