[Ruby] Вопрос по итераторам

Dennis Vshivkov walrus на amur.ru
Сб Дек 4 00:42:52 MSK 2004


On Fri, Dec 03, 2004 at 05:50:46PM +0200, Kravchenko Sergey wrote:

 >> [skipped]

 >>> Ну вот, например. Видимость отсутствия перехода в начало цикла. Не
 >>> знаю, насколько это красиво... :)
 >> [skipped]

 >> Добавим красоты и исправим ошибку. =)

 >> #!/usr/bin/ruby
 >> out = []
 >> %w(a b b1 b2 c d).inject(false) { |skip, i|
 >>   out.clear unless skip

 >>   next out.push(i) if i == 'b' || !out.empty? && i[0] == ?b

 >>   unless out.empty?
 >>     puts out.join(' ')
 >>     out.clear
 >>   end

 >>   puts out.push(i).join(' ')
 >> }

 > Благодарю за оригинальное решение.

 > Однако хотелось бы видеть ваш код более читабельным.

    Ирония осталась незамеченной? :)

 > Мне пришлось потратить бОльшую часть времени на расшифровку
 > непривычного синтаксиса,

    Дело привычки, а синтаксис -- языка.

 > а не на оценку его "красоты" ;)

    Так ведь и задача была с приподвывертом.

-- 
/Awesome Walrus <walrus на amur.ru>
                             ...Крылья сломались, когда ещё воздух был пуст...


Подробная информация о списке рассылки Ruby