Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.12.2009, 20:40
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

e1f,
можно пример кода, как это там выглядит?
Ответить с цитированием
  #12 (permalink)  
Старый 01.12.2009, 20:43
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

for my $item (@items) {
    # do something
}
Ответить с цитированием
  #13 (permalink)  
Старый 01.12.2009, 21:15
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

так я и думал
это не счетчик с циклом, а совместный цикл, предназначенный для перебора элементов хэш-массива
с таким же успехом мог перевести тему на javascript, и сказать что в цикле for...in нету никаких счетчиков.
или написать свой язык в котором конструкцией for обозначается что-угодно
когда я писал об уместности употребления именно цикла со счетчиком, который в PHP записывается как for(;
то, что ты перескочил на другую синтаксическую структуру из другого языка - это хреновый аргумент.
даже хуже чем привел Kolyaj в данном обсуждении
Былинный отказ десу!
Ответить с цитированием
  #14 (permalink)  
Старый 01.12.2009, 22:08
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Gvozd
даже хуже чем привел Kolyaj в данном обсуждении
Я не приводил никаких аргументов, я сказал, что ты хреновые привел

В данном конкретном случае for уместней, тем более, что даже счетчик есть.
Ответить с цитированием
  #15 (permalink)  
Старый 01.12.2009, 22:16
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
Я не приводил никаких аргументов, я сказал, что ты хреновые привел
Да, я в курсе)
именно к этому я и отсылаю
Ответить с цитированием
  #16 (permalink)  
Старый 02.12.2009, 01:54
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от Gvozd Посмотреть сообщение
так я и думал
это не счетчик с циклом, а совместный цикл, предназначенный для перебора элементов хэш-массива
ЩИТО? Учите матчасть (aka perl) @items -- именно массив, а ни вкоем случае ни хэш-массив. Хэш -- это %items, и перебор его ключей есть
Код:
for my $item (keys %items)
значений соответственно
Код:
for my $item (values %items)
Отказ не принят
Ответить с цитированием
  #17 (permalink)  
Старый 02.12.2009, 02:24
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от e1f
@items -- именно массив
да, хоть объект содержащий свойства.
все суть контейнер.
без контейнера эта синтаксическая конструкция не употребляется.
точно также как foreach($array as $key=>$value) (PHP) или for(key in array) (JS)
если нету array-а, то и конструкции эти использовать нельзя.

или в Perl цикл со счетчиком, и цикл для перебора индексов/ключей/свойств есть одна синтаксическая структура?
что-то не верится

но даже если это так, я изначально говорил прежде всего о PHP
не о JS(хотя для него тут мое мнение такое же)
не о C(в нем я наоборот часто себе позволяю использование циклов "не по правилам", в связи с разностью областей моего личного их знания и применения)
не о Perl, в котором я не специалист
не о Brainfuck в котором один вид цикла/условия, и не может быть вопроса "что использовать"(зато вопрос "как сделать" возникает)))

PS непринятие отказа отклонено
Ответить с цитированием
  #18 (permalink)  
Старый 02.12.2009, 10:01
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от Gvozd Посмотреть сообщение
или в Perl цикл со счетчиком, и цикл для перебора индексов/ключей/свойств есть одна синтаксическая структура?
Бинго!
Сообщение от Gvozd Посмотреть сообщение
но даже если это так, я изначально говорил прежде всего о PHP
Ну, из заявления
Сообщение от Gvozd Посмотреть сообщение
так как считаю, что для простейших задач циклы должны использоваться так, как это изначально предполагается, то есть for-когда известно количество итераций, а while-когда неизвестно количество итераций, но известно другое условие выхода
сложно судить, о языке именно идет речь, спор скорее о методологии программирования

А насчет JS, так я часто использую, к примеру, for таким вот образом:
for (var i = array.length; i--; ) {
    // do something
}

Не надо кешировать/перезапрашивать длину, экономим на условии <. Тоже неправильный, по-вашему, подход к for'у?

P.S. Все равно отказ не принят
Ответить с цитированием
  #19 (permalink)  
Старый 02.12.2009, 20:42
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от e1f
Бинго!
блин, ну мне даже интересно, как же именно в перле записывается цикл со счетчиком. напиши, пожалуйста
Сообщение от e1f
Ну, из заявления... ...сложно судить, о языке именно идет речь
Это следует из изначальной темы, хотя, мы уже плавно перешли в офффтоп
Сообщение от e1f
Тоже неправильный, по-вашему, подход к for'у?
Бинго!
просматривая код вскользь между строк, не скажешь сразу, что этот цикл делает и в каком порядке.
в отличии от наверняка и всеми узнаваемой конструкции
for(i=0;i<arr.length;i++)
Ответить с цитированием
  #20 (permalink)  
Старый 02.12.2009, 23:45
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от Gvozd Посмотреть сообщение
блин, ну мне даже интересно, как же именно в перле записывается цикл со счетчиком. напиши, пожалуйста
Ты не поверишь
Код:
for ( my $i = 0 ; $i < @items ; $i++ ) {
    # do
}
либо ( for и foreach -- полностью взаимозаменяемы )
Код:
foreach ( my $i = 0 ; $i < @items ; $i++ ) {
    # do
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести тект в данные? ipevgeny Events/DOM/Window 1 28.10.2009 23:43
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12