Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Foreach для Enumeration 
:(
    Опции темы
Karadul
Дата 13.6.2012, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



foreach не работает?
PM MAIL   Вверх
Skipy
Дата 14.6.2012, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: нет
Всего: 16



Цитата(Karadul @ 13.6.2012,  18:52)
foreach не работает?

Для Enumeration? Ну проверьте.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
priam220
Дата 14.6.2012, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



foreach тут как бы не нужен, почитать почему можно здесь
вкратце:
Цитата

Only major difference between Enumeration and iterator is Iterator has a remove() method while Enumeration doesn't. Enumeration acts as Read-only interface, because it has the methods only to traverse and fetch the objects, where as by using Iterator we can manipulate the objects like adding and removing the objects


PM MAIL   Вверх
Karadul
Дата 14.6.2012, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Если я правильно помню, foreach требует Iterable, а не Iterator.
PM MAIL   Вверх
priam220
Дата 14.6.2012, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



Все правильно помните, осталось только глянуть что из себя представляет Iterable.
PM MAIL   Вверх
Karadul
Дата 14.6.2012, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Но можно же кидать исключение на remove(), для кого foreach придумали-то?
PM MAIL   Вверх
priam220
Дата 14.6.2012, 15:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



Почти уверен, что и такой подход оскорбил бы Вас не менее: что за хрень! в жава есть классы, имеющие паблик методы remove! но на попытку удалить там что то оно мне ругается!  ай-ай! какие они там все балбесы, спросили бы у меня, я б им сказал как надо!
 smile 


PM MAIL   Вверх
jk1
Дата 14.6.2012, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 75



Цитата

что за хрень!


Не такая уж и хрень. Если вспомнить доки на java.util.Iterator, то там операция remove() заявлена как optional, то есть она может не быть реализована и кидать UnsupportedOperationException:

Цитата

void remove()

Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Throws:
UnsupportedOperationException - if the remove operation is not supported by this Iterator.


Так что реализация Enumeration'ом интерфейса Iterable контракта не нарушает.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
priam220
Дата 14.6.2012, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



Вынужден признать свою неправоту и принести свои извинения товарищам по цеху, за безосновательный пафос! И принять этот красивый подсрачник в награду. 
Тогда действительно, наблюдается избыточность, наверное Enumeration, существующий с 1.0 будет умирать.
А все казалось таким красивым.
PM MAIL   Вверх
Pawl
Дата 14.6.2012, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Цитата(priam220 @  14.6.2012,  17:26 Найти цитируемый пост)
Тогда действительно, наблюдается избыточность

А как сделать лучше напишете?


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
AntonSaburov
Дата 14.6.2012, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 118



А может попробовать самому поискать ответ ?
PM MAIL WWW ICQ   Вверх
priam220
Дата 14.6.2012, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 4.6.2010

Репутация: нет
Всего: 8



Цитата(Pawl @  14.6.2012,  18:49 Найти цитируемый пост)
А как сделать лучше напишете?

1. Думаю, лучше было бы сделать что то однозначное.  
2. Я думаю, многие согласятся, что провайдить интерфейс, которого не должно быть согласно логической концепции объекта (например велосипеду метод startEngine() ) не совсем верно. Т.е. применительно к нашему вопросу UnmodifiableCollection<E> implements Collection<E> выглядит не совсем красиво, имхо. 
3. Лучше - сложный оценочный фактор. У меня нет причин не доверять разработчикам системы, - возможно маленькие нестыковки в объектной модели языка, с лишком окупаются другими профитами. 
  


Это сообщение отредактировал(а) priam220 - 16.6.2012, 23:58
PM MAIL   Вверх
Karadul
Дата 14.6.2012, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Ситуация, когда прошло 7 с лишним лет, а некоторым авторам нинужен foreach, говорит о, как бы сказать, их отсталости. В питоне, например, вообще нет сишного for, только foreach.
PM MAIL   Вверх
jk1
Дата 15.6.2012, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: нет
Всего: 75



Karadul, а в чем собственно проблема?

Можно же делать вот так:
Код

while (nets.hasMoreElements()) {
      NetworkInterface net =  nets.nextElement();


Функционально будет полным эквивалентом foreach. Что же до синтаксического сахара, то пора бы понять, что в Java его практически нет. Если он для Вас так важен, то берите Scala и забудьте про Java как про страшный сон.

Я уже молчу о том, что Enumeration встречается достаточно редко, можно годами писать код на Java и не знать о нем.

Цитата

В питоне, например, вообще нет сишного for, только foreach. 


что порождает костыли в случае, когда нужно вызвать функцию четко определенное число раз или перебрать последовательные числа:
Код

for _ in xrange(n): foo()


На этом дискуссию предлагаю закрыть, так как она давно ушла в оффтоп.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Karadul
Дата 15.6.2012, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Цитата(jk1 @  15.6.2012,  09:31 Найти цитируемый пост)
Цитата

В питоне, например, вообще нет сишного for, только foreach. 


что порождает костыли в случае, когда нужно вызвать функцию четко определенное число раз или перебрать последовательные числа:

Это не такие страшные костыли, а foreach используется в питоне гораздо чаще for.

Просто поражает упоротость (некоторых) жавоидов, 7-8 лет прошло, а им foreach, видите ли, нинужен. А другие их еще защищают. 

Если мосье считает, что оффтоп, предлагаю посты, начиная с оффтопа, перенести в другую тему. На сырцах вообще был раздел "религиозные войны".
PM MAIL   Вверх
dorogoyIV
Дата 15.6.2012, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: нет
Всего: 46



Цитата(AntonSaburov @  14.6.2012,  19:31 Найти цитируемый пост)
А может попробовать самому поискать ответ ?

http://www.codingrus.ru/readarticle.php?article_id=647
PM MAIL   Вверх
Karadul
Дата 15.6.2012, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Я бы назвал тему "Почему в яве так не любят foreach и все, что младше 10 лет". 
И все-таки жалко, что у вас холиворов нету.
PM MAIL   Вверх
k0rvin
Дата 15.6.2012, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 15.6.2012,  20:40)
Я бы назвал тему "Почему в яве так не любят foreach и все, что младше 10 лет". 
И все-таки жалко, что у вас холиворов нету.

А это что?

Но вообще джавовский foreach весьма убог, в CL loop (и iter из пакета iterate) намного круче.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Karadul
Дата 15.6.2012, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



О, действительно.
А что такое CL?

Убог/не убог, но уже лучше, чем ничего, меньше можно напортить (ошибки при копипасте вложенных циклов, когда забывают исправить переменную), не говоря о том, что foreach не требует индексации. Ну и выглядит лучше, чем ручной вызов итератора.
PM MAIL   Вверх
k0rvin
Дата 15.6.2012, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 15.6.2012,  21:52)
А что такое CL?

Common Lisp

Цитата(Karadul @ 15.6.2012,  21:52)
Убог/не убог, но уже лучше, чем ничего, меньше можно напортить (ошибки при копипасте вложенных циклов, когда забывают исправить переменную), не говоря о том, что foreach не требует индексации. Ну и выглядит лучше, чем ручной вызов итератора.

вот только такую фишку с его помощью не сделать:
Код

int[] xs = new int[] { 1, 2, 3, 4, 5 };
int[] ys = new int[xs.length];
for (int x : xs, int &y : ys) { // & означает ссылку
  y = x*x;
}
// ys = { 1, 4, 9, 16, 25 }


Впрочем в CL loop этого тоже не сделать, но в C++, думаю, можно что-такое сотворить.

Добавлено через 9 минут и 18 секунд
И вот такую штуку не сделаешь:
Код

int[] xs = new int[] { 1, 2, 3 };
int[] ys = new int[] { 4, 5, 6 };
int sum = 0;
for (int x : xs, int y : ys) {
  sum += x + y;
}

а в CL loop сделаешь =)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Pawl
Дата 15.6.2012, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: нет
Всего: 28



Цитата(k0rvin @  15.6.2012,  22:12 Найти цитируемый пост)
а в CL loop сделаешь =)

зато в java можно извратиться smile:
Код

import static java.util.Arrays.copyOfRange;

public class ForEachTest {
    public static void main(String[] args) {
        int[] xs = new int[] { 1, 2, 3 };
        int[] ys = new int[] { 4, 5, 6 };
        int sum = 0;
        for (int x : xs) {            
            for (int y : ys) {
                sum += x + y;
                break;
            }
            ys = copyOfRange(ys, 1, ys.length);
        }
        System.out.println(sum);
    }
}


Это сообщение отредактировал(а) Pawl - 15.6.2012, 22:51


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Karadul
Дата 15.6.2012, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Цитата(k0rvin @  15.6.2012,  22:12 Найти цитируемый пост)
Цитата(Karadul @ 15.6.2012,  21:52)
А что такое CL?

Common Lisp

Фу. Вы небось теми же руками потом на форуме пишете?

Цитата(k0rvin @  15.6.2012,  22:12 Найти цитируемый пост)
вот только такую фишку с его помощью не сделать:

Это map чтоли? Библиотекой наверняка можно, а встроенных средств ФП в яве нет.

Не, фп в питоне очень приятное и не слишком тошнотное. Линку не юзал, но тоже с виду неплох + параллелизация искаропки.
PM MAIL   Вверх
k0rvin
Дата 17.6.2012, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 15.6.2012,  23:07)
Фу. Вы небось теми же руками потом на форуме пишете?

Это мне любитель джавы говорит?  smile 

Цитата(Karadul @ 15.6.2012,  23:07)
Это map чтоли? Библиотекой наверняка можно

Нет, не map.

Цитата(Karadul @ 15.6.2012,  23:07)
а встроенных средств ФП в яве нет.

А при чем тут ФП?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Karadul
Дата 18.6.2012, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Цитата(k0rvin @  17.6.2012,  20:39 Найти цитируемый пост)
Цитата(Karadul @ 15.6.2012,  23:07)
Фу. Вы небось теми же руками потом на форуме пишете?

Это мне любитель джавы говорит?  smile 

Ну любитель - не любитель, но пользуюсь. А какое лисп имеет отношение к яве в частности и к промышленной разработке вообще? Он за пределами университетов кому-то нужен?


Цитата(k0rvin @  17.6.2012,  20:39 Найти цитируемый пост)
Нет, не map.

А что? Уж очень похоже

Код

ys = map(lambda x: x*x, xs)


Код

sum = reduce(lambda x,y: x+y, map(lambda x, y: x+y, xs, ys))


Цитата(Pawl @  15.6.2012,  22:48 Найти цитируемый пост)
Код

for (int x : xs) {            
            for (int y : ys) {
                sum += x + y;
                break;
            }

Там не вложенные for.

PM MAIL   Вверх
k0rvin
Дата 18.6.2012, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 18.6.2012,  01:35)
Ну любитель - не любитель, но пользуюсь. А какое лисп имеет отношение к яве в частности и к промышленной разработке вообще?

Common Lisp - вполне себе прямое.

http://www.lispworks.com/success-stories/index.html

http://www.franz.com/success/

Но ты отвлекаешься.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
k0rvin
Дата 18.6.2012, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 18.6.2012,  01:35)
Цитата(Pawl @  15.6.2012,  22:48 Найти цитируемый пост)
Код

for (int x : xs) {
    for (int y : ys) {
        sum += x + y;
        break;
    }
}

Там не вложенные for.

Зачем ты пропустил
Код

ys = copyOfRange(ys, 1, ys.length);

? =)

Но это конечно изврат.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Karadul
Дата 18.6.2012, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Цитата(k0rvin @  18.6.2012,  06:29 Найти цитируемый пост)
Но ты отвлекаешься. 

От чего? Мы о ФП говорили?

Так а что из себя представляют примеры, если не map+reduce?

Добавлено @ 15:05
Цитата(k0rvin @  18.6.2012,  06:29 Найти цитируемый пост)
Цитата(Karadul @ 18.6.2012,  01:35)
Ну любитель - не любитель, но пользуюсь. А какое лисп имеет отношение к яве в частности и к промышленной разработке вообще?

Common Lisp - вполне себе прямое.

http://www.lispworks.com/success-stories/index.html

http://www.franz.com/success/

Это типа как много на нем написано? А на яве этот список тебе браузер завесит smile


Цитата(Pawl @  15.6.2012,  22:48 Найти цитируемый пост)
Код

for (int y : ys) {
        sum += x + y;
        break;
}
ys = copyOfRange(ys, 1, ys.length);


Вот уж действительно изврат - из-за одного значения foreach вызывать и потом останавливать, так еще и с O(n**2). На govnokod.ru надо запостить.

Это сообщение отредактировал(а) Karadul - 18.6.2012, 15:11
PM MAIL   Вверх
k0rvin
Дата 18.6.2012, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 18.6.2012,  15:00)
От чего?

От циклов foreach.

Цитата(Karadul @ 18.6.2012,  15:00)
Так а что из себя представляют примеры, если не map+reduce?

Простые циклы.

Цитата(Karadul @ 18.6.2012,  15:00)
Это типа как много на нем написано? А на яве этот список тебе браузер завесит smile

Это типа его используют в "энтерпрайзе", а мерятся количеством как-то не солидно.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Karadul
Дата 18.6.2012, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



И чего в них не хватает?
Параллельной итерации по двум последовательностям? В питоне это решается так
Код

for x, y in zip(xs, ys):

Т.е. берется функция zip, которая возвращает выполнят на каждой последовательности next() и возвращает кортеж со значениями, потом этот кортеж распаковывается в x,y. Скорость такой операции жавоёидов может не устроить.
А как часто такое бывает надо? Ну в принципе можно бы было и сделать, но с консервативностью явы вряд ли, мож в дотнете бы появилось.

Цитата(k0rvin @  15.6.2012,  22:12 Найти цитируемый пост)

Код

int[] xs = new int[] { 1, 2, 3, 4, 5 };
int[] ys = new int[xs.length];
for (int x : xs, int &y : ys) { // & означает ссылку
  y = x*x;
}
// ys = { 1, 4, 9, 16, 25 }

Это уже какая-то полунизкоуровневая хрень. Для таких целей лучше подходит map или уже сишный for цикл.
Итерация через foreach с возможностью изменения элемента не всегда возможно, т.к. итерация может идти через последовательности, которые изменить нельзя в принципе (например, поток байтов из сокета или файла, открытого для чтения). Хотя для массивов, возможно бы, и пригодилась.
В сисярпе есть ref, может там что-то работает.

А вообще работа с итераторами хорошо получается через ФП. Может, в сисярпе linq решает часть этих проблем.

Цитата(k0rvin @  18.6.2012,  15:53 Найти цитируемый пост)
Это типа его используют в "энтерпрайзе", а мерятся количеством как-то не солидно. 

А яву где?
А количеством людей, пишущих на нем, солиднее?




Это сообщение отредактировал(а) Karadul - 18.6.2012, 17:39
PM MAIL   Вверх
Karadul
Дата 18.6.2012, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1




Модератор: Сообщение скрыто.

PM MAIL   Вверх
AntonSaburov
Дата 18.6.2012, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 118



Тему закрываю - она уже ушла непонятно куда.
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 20.6.2012, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 118



Возобновляем в разделе холиваров.
PM MAIL WWW ICQ   Вверх
k0rvin
Дата 20.6.2012, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Karadul @ 18.6.2012,  17:38)
Т.е. берется функция zip, которая возвращает выполнят на каждой последовательности next() и возвращает кортеж со значениями, потом этот кортеж распаковывается в x,y. Скорость такой операции жавоёидов может не устроить.

Угу, вот так и получается, что прожорливость софта идет в ногу с повышением производительности железа. Где-то на stackoverflow вроде уже было сравнение производительности C#/.NET foreach и for. Не в пользу foreach.

Добавлено через 2 минуты и 8 секунд
Цитата(Karadul @ 18.6.2012,  17:38)
А яву где?
А количеством людей, пишущих на нем, солиднее?

Ты спрашивал, использутеся ли CL где-то за пределами университетов (кстати, там он как раз не используется), я тебе ответил с примерами.

Никаким количеством не солидней.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Karadul
Дата 24.7.2012, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Батхертнутые модерашки мне бан на три недели выписали. Когда им уже руки поотпиливают.


Цитата(Karadul @  20.6.2012,  16:44 Найти цитируемый пост)
Т.е. берется функция zip, которая возвращает выполнят на каждой последовательности next() и возвращает кортеж со значениями, потом этот кортеж распаковывается в x,y. Скорость такой операции жавоёидов может не устроить.

Понятия не имею, зачем я это написал. Наверно, как пример, как это можно сделать.
В принципе, можно конечно же сделать foreach и с несколькими переменными, заодно решив, что делать с последовательностями разной длины. Но почему-то этого не сделали.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1763 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.