[Ruby] Вопрос по итераторам
Dennis Vshivkov
walrus на amur.ru
Пт Дек 3 17:38:25 MSK 2004
On Sat, Dec 04, 2004 at 03:33:58AM +1300, Dennis Vshivkov wrote:
[skipped]
> Ну вот, например. Видимость отсутствия перехода в начало цикла. Не
> знаю, насколько это красиво... :)
> #!/usr/bin/ruby
> out = []
> %w(a b b1 b2 c d).inject(false) { |skip, i|
> out.clear unless skip
> if i == 'b' || !out.empty? && i[0] == ?b
> out.push i
> next true
> end
> unless out.empty?
> # out готов
> puts out.join(' ')
> out.clear
> end
> out.push i
> # out готов
> puts out.push(i).join(' ')
> }
Добавим красоты и исправим ошибку. =)
#!/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