Size: a a a

2020 January 23

V

Vabka in rust_offtopic
Ну тоесть для примера - в шарпе я бы взял IEnumerable, тк все коллекции его реализуют, и юзер может легко написать свой ienumerable. Linq работает с ienumerable
источник

P

Pavel in rust_offtopic
Vabka
Ну тоесть для примера - в шарпе я бы взял IEnumerable, тк все коллекции его реализуют, и юзер может легко написать свой ienumerable. Linq работает с ienumerable
так, ещё раз, что ты хочешь сделать?
источник

V

Vabka in rust_offtopic
Pavel
аргумент метода map(), ещё flatMap
Короче лямбда
источник

DF

Dollar Føølish in rust_offtopic
Я понял
источник

P

Pavel in rust_offtopic
Vabka
Короче лямбда
a -> b
источник

P

Pavel in rust_offtopic
для flatMap — a -> Stream[b]
источник

V

Vabka in rust_offtopic
Pavel
так, ещё раз, что ты хочешь сделать?
Хочу метод alternate, который будет иметь сигнатуру
?'<T> alternate<T>(?<T> input, T separator)
источник

DF

Dollar Føølish in rust_offtopic
Павел а ты пишешь на скале?
источник

B

Bogdan in rust_offtopic
Pavel
ну, чем стрим не монадка?
Тем что нет общей абстракции "монада" в обычных языках
источник

V

Vabka in rust_offtopic
Vabka
Хочу метод alternate, который будет иметь сигнатуру
?'<T> alternate<T>(?<T> input, T separator)
Что мне вставить вместо ? И ?'.
?
источник

B

Bogdan in rust_offtopic
Т.е. ты не можешь написать алгоритм работающий с ЛЮБОЙ монадой
источник

DF

Dollar Føølish in rust_offtopic
В котлине есть хламидомонады?
источник

V

Vabka in rust_offtopic
Vabka
Что мне вставить вместо ? И ?'.
?
При этом ?<T> - это нечто, что может дать методы
Boolean hasNext()
И
T getNext()
Не обязательно именно такие, но что-то такое. Хочу что-то максимально абстрактное, чтобы большинство потребителей функции могли достать экземпляр нужного типа
источник

P

Pavel in rust_offtopic
Vabka
Хочу метод alternate, который будет иметь сигнатуру
?'<T> alternate<T>(?<T> input, T separator)
тогда стрим тебе не подойдёт, потому, что стрим обычно ничего не говорит о порядке
источник

V

Vabka in rust_offtopic
Pavel
тогда стрим тебе не подойдёт, потому, что стрим обычно ничего не говорит о порядке
А что подойдёт?
источник

P

Pavel in rust_offtopic
Bogdan
Тем что нет общей абстракции "монада" в обычных языках
ходит как монада, квакает как монада
источник

P

Pavel in rust_offtopic
Vabka
А что подойдёт?
своя реализация, которая работает либо c Iterator, если ленивая, или с Iterable, если жадная
источник

V

Vabka in rust_offtopic
Pavel
своя реализация, которая работает либо c Iterator, если ленивая, или с Iterable, если жадная
Наканецта
источник

V

Vabka in rust_offtopic
А зачем тогда нужны стримы? Что можно сделать со стримом, чего нельзя сделать с итератором?
источник

P

Pavel in rust_offtopic
Vabka
Наканецта
но ты мог бы сделать просто flatMap(a -> Stream,of(b, a)).drop(1)
источник