Играя си с масиви и хешове доста в ruby и в крайна сметка получавам някакъв код, който изглежда така:
sum = two_dimensional_array.select{|i|
i.collect{|j|
j.to_i
}.sum > 5
}.collect{|i|
i.collect{|j|
j ** 2
}.average
}.sum
(Нека всички се преструваме, че примерният код по-горе има смисъл сега...)
Проблемът е, че въпреки че TextMate (избраният от мен редактор) улавя прости {...}
или do...end
блокове доста лесно, той не може да разбере (което е разбираемо, тъй като дори аз не мога да намеря "правилен" начин да сгъна горното) където започват и завършват горните блокове, за да ги сгънете.
Как бихте сгънали горния примерен код?
PS: като се има предвид, че може да има 2 нива на сгъване, интересуват ме само външните последователни (блоковете с i)