Tab until you get to the 'right level' (in this case, in line with the 
def) then use spaces.  This way you can expand and contract the tabs and 
still have bat line up with bar.  Just remember: tabs before spaces.

Ben Giddings wrote:

>On Sat August 2 2003 1:01 pm, Seth Kurtzberg wrote:
>  
>
>>That is true of any tab size, providing you don't mix spaces in (as noted
>>above).  In fact I tend to use two, but I expand it to four or eight
>>temporarily is I want to see the block structure more clearly.
>>    
>>
>
>You tab-users do make a good argument for tabs, so what happens when you want 
>to indent a continued argument list, or something else which isn't aligned on 
>a tab boundary:
>
>module Dumb
>  class Fake
>    def do_something?(bar, baz,
>                      bat, buzz)
>      true
>    end
>  end
>end
>
>An admittedly contrived example, but hopefully ok for the purposes of 
>illustration.  Many people like that sort of alignment, where if there are 
>too many arguments for one line, they continue on the next line and line up 
>with the start of the first argument.
>
>I imagine you'd have 1 tab before "class Fake", 2 before "def do_something..." 
>and 3 before "true", but what about "bat, buzz"?  Can you do it in a way that 
>the code still lines up if someone changes their tab sizes?  I'd guess you 
>could do two tabs then a bunch of spaces, but it would seem to me that would 
>be hard to "police".
>
>Personally, I think the most important thing is never to mix tabs and spaces 
>and since I've had problems with tabs in the past, I never use them at all 
>now.  If you're interested in the topic, Jamie Zawinski has some great info 
>on his web site about it, including emacs defuns to strip tabs from a file 
>which contains them.
>
>http://www.jwz.org/doc/tabs-vs-spaces.html
>
>Ben
>
>
>
>
>  
>