e1f,
можно пример кода, как это там выглядит? |
for my $item (@items) { # do something } |
так я и думал
это не счетчик с циклом, а совместный цикл, предназначенный для перебора элементов хэш-массива с таким же успехом мог перевести тему на javascript, и сказать что в цикле for...in нету никаких счетчиков. или написать свой язык в котором конструкцией for обозначается что-угодно когда я писал об уместности употребления именно цикла со счетчиком, который в PHP записывается как for(;;) то, что ты перескочил на другую синтаксическую структуру из другого языка - это хреновый аргумент. даже хуже чем привел Kolyaj в данном обсуждении Былинный отказ десу! |
Цитата:
В данном конкретном случае for уместней, тем более, что даже счетчик есть. |
Цитата:
именно к этому я и отсылаю |
Цитата:
Код:
for my $item (keys %items) Код:
for my $item (values %items) |
Цитата:
все суть контейнер. без контейнера эта синтаксическая конструкция не употребляется. точно также как foreach($array as $key=>$value) (PHP) или for(key in array) (JS) если нету array-а, то и конструкции эти использовать нельзя. или в Perl цикл со счетчиком, и цикл для перебора индексов/ключей/свойств есть одна синтаксическая структура? что-то не верится но даже если это так, я изначально говорил прежде всего о PHP не о JS(хотя для него тут мое мнение такое же) не о C(в нем я наоборот часто себе позволяю использование циклов "не по правилам", в связи с разностью областей моего личного их знания и применения) не о Perl, в котором я не специалист не о Brainfuck в котором один вид цикла/условия, и не может быть вопроса "что использовать"(зато вопрос "как сделать" возникает))) PS непринятие отказа отклонено :) |
Цитата:
Цитата:
Цитата:
А насчет JS, так я часто использую, к примеру, for таким вот образом: for (var i = array.length; i--; ) { // do something } Не надо кешировать/перезапрашивать длину, экономим на условии <. Тоже неправильный, по-вашему, подход к for'у? P.S. Все равно отказ не принят :) |
Цитата:
Цитата:
Цитата:
просматривая код вскользь между строк, не скажешь сразу, что этот цикл делает и в каком порядке. в отличии от наверняка и всеми узнаваемой конструкции for(i=0;i<arr.length;i++) |
Цитата:
Код:
for ( my $i = 0 ; $i < @items ; $i++ ) { Код:
foreach ( my $i = 0 ; $i < @items ; $i++ ) { |
Часовой пояс GMT +3, время: 23:29. |