>> >> But then you get some larger ones: >> >> set.map { |e| >> if something >> e.x >> else >> e.y >> end >> } > > [Robert:] > Know your ternary operator: :-) > set.map { |e| something ? e.x : e.y } I know my ternary operator, but: - in my code snippet, "something", "e.x", and "e.y" were placeholders for something far bigger than you or I could imagine - sometimes there is multi-part processing do be done before arriving the "return value" for the block Gavin