Здравствуйте, Алексей П, Вы писали:
АП>Очень хотелось бы иметь в стандартной библиотеке у класса list метод типа IterRest, ну и FoldRest — такие аналоги Iter и Fold, чтобы на каждой итерации передавался не только текущий элемент, но и оставшаяся часть списка. АП>Вручную делается элементарно, но достало.
Здравствуйте, PhantomIvan, Вы писали:
PI>дык это — кидай сюда код, и оно попадёт в библиотеку PI>если конечно, компиляторщики не против PI>я думаю они не против
Я уже против. Зачем это нужно?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Алексей П, Вы писали:
АП>Да не вопрос. Правда это скорее для размещения в Nemerle.Collections.List, но можно просто вызвать из list. АП>Или переписать через цикл, а то хвостовой рекурсии не будет.
АП>
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, _nn_, Вы писали:
VD>>>Проблем с дефолт-параметрами я тоже не вижу. И опять же если вдруг возникнет дикая необходимость генарацию методов можно сделать на макросах.
__>>Знаю, что можно. __>>Но вот если бы этот макрос был бы в стандартной библиотеке языка
VD>... то было бы действительно ужасно.
А если этот макрос в Исходники запостить, попадет он в стандартную библиотеку ?
PI>>дык это — кидай сюда код, и оно попадёт в библиотеку PI>>если конечно, компиляторщики не против PI>>я думаю они не против
VD>Я уже против. Зачем это нужно?
ну лана, вы тут обсудите, а потом мне сообщите
мне в принципе всё равно, будет оно в стандартной библиотеке или нет
как по мне, IterRest заслуживает добавления туда, неплохая функция
периодически возникает необходимость в таком проходе (как минимум, сделать Iter не по 1 элементу, а по 2 сразу — предыдущим и последующим)
ну, FoldRest вместе с ним, IndexOf действительно лучше, кажется к IEnumerable подмешивать
хотя можно и к списку
короче, мне все равно, поэтому, давайте думайте, а потом мне скажете
Здравствуйте, _nn_, Вы писали:
__>А если этот макрос в Исходники запостить, попадет он в стандартную библиотеку ?
Я в этом смысла не вижу. Но если подобный макрос будет лежать в каком-нибудь пространстве имен, то никому он мешать не будет. Так что спроси на форуме по языку.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Алексей П, Вы писали:
АП>Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.
Неужели такие случаи так часты, что достойны вынесения в стандартные функции?
К тому же это будет поощрять писать непродуктивный код. Ведь заглядывание вперед замедляет код. Меж тем используя паттерн-матчинг в не универсальной фукнции можно получить оптимальный и красивый код. Ведь просто можно матчить сразу несколько значений списка.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Алексей П, Вы писали:
АП>Здравствуйте, VladD2, Вы писали:
VD>>А какой в этом смысл?
АП>Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.
Возможно, в этом случае стоит подумать над более эффективным алгоритмом, а то попахивает O(n^2).
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Здравствуйте, Алексей П, Вы писали:
АП>>Здравствуйте, VladD2, Вы писали:
VD>>>А какой в этом смысл?
АП>>Иногда нужно сделать итер или фолд с заглядыванием вперед списка, типа, не содержится ли там что-то важное.
АХ>Возможно, в этом случае стоит подумать над более эффективным алгоритмом, а то попахивает O(n^2).
Ну да, O(n^2). Но при реальных n < 100 это как-то не очень важно. Хотя можно и оптимизировать.