3 ms·
I like that type of code, so yes, maybe it's a darling. It's easy to make it more readable by aligning the code with the dots, so that it becomes a pipeline:
by elcapitan 11y ago
I like that type of code, so yes, maybe it's a darling.
It's easy to make it more readable by aligning the code with the dots, so that it becomes a pipeline:
@sentence = @sentence.split(' ')
.map!{|x| x = x[0..0].upcase << x[1..-1]}
.join(' ')
I definitely prefer that to half a screen page of crappy imperative code, where people over time will add lots of side effects etc.
Besides, the middle part is clearly a strawman because
@sentence = @sentence.split(' ')
.map!(&:capitalize)
.join(' ')
but yeah. ;)
- djur 11y ago`map!`, `<<`, and `0..0` are all unnecessary and distracting here. The availability of `capitalize` aside, `map`, `+`, and `0` would be better choices.
- ibmthrowaway271 11y agoAs pointed out below, they aren't equivalent. Compare the output of both when run against "foo bar WIBBLE"