Looking at other people's code it seems really common to include an extra space inside curly brace blocks. Is there a reason for that? To me it seems to add extra keystrokes for added ugliness. Especially when things get nested:
lambda { (1..5).map { |i| { :a => { :b => i } } } }
For some reason it just looks more concise and coherent to do:
lambda {(1..5).map {|i| {:a => {:b => i}}}}
Maybe the extra spaces are some text editor side effect or there is a historical reason or something? I haven't seen this addressed in style guides and if it's like 2 space indentation I want to follow conventions, but if there's no good reason I guess I'll just keep doing things my own way. Which do you prefer, and why?
Most of the Ruby code I see (and hopefully all the code I write) uses this style:
This is what I have gotten used to and internalized.
When all is said and done, this one particular style issue is not of paramount importance. That said, the Ruby community (as do others) believes it is important to match your style (a) to the project you are working with and (b) to the community of code as a whole. That's why I recommend to use the extra white spaces.
BTW, this is a good Ruby style guide: http://www.caliban.org/ruby/rubyguide.shtml#style
Seems like just a matter of style. I think they're ugly, leave out the extra spaces.
Edit: I do agree with the comment below that just saying it's a matter of style doesn't give a license to do whatever you want. If anyone else is ever going to have to read or maintain the code then adhering to a common style is just good coding practice. So I'd be the first person to put in spaces if someone convinced me that most Ruby code uses spaces in this manner. Personally I still think it's ugly but that's far less important than having others be able to read my code.
The extra space at the start/ends of hashes was probably made good style to improve readability on key/values that start/end with anything but a letter.
It's in part attributed to the curly brackets, I rarely see spaces at the start of hashes in Ruby ([]).
The new hash syntax introduced in Ruby 1.9 shall probably modify this