Size: a a a

2020 January 23

P

Pavel in rust_offtopic
Alex Zhukovsky
я тебе на жаба стримах то же самое щас напишу, что это поменяет?
то, что ты путаешь источник данных и апи для композиции - точно не поменяет
источник

P

Pavel in rust_offtopic
стрим — не источник данных
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
то, что ты путаешь источник данных и апи для композиции - точно не поменяет
its a big NO in Java 8 streams to reuse a stream
источник

P

Pavel in rust_offtopic
ты можешь вызвать stream() на источнике данных, чтобы собрать операцию, которая выполнится на этих данных
источник

AZ

Alex Zhukovsky in rust_offtopic
чет говорят жаба не разрешит тебе написать скип и дроп
источник

P

Pavel in rust_offtopic
"возьми стрим два раза" и "возьми один и тот же стрим" — разные вещи, плиз, хоть читай мои сообщения, если ты думаешь, что споришь
источник

P

Pavel in rust_offtopic
возьми стрим два раз и примени две операции
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
"возьми стрим два раза" и "возьми один и тот же стрим" — разные вещи, плиз, хоть читай мои сообщения, если ты думаешь, что споришь
источник

AZ

Alex Zhukovsky in rust_offtopic
окей, не буду спорить, @kremovtort был прав
источник

P

Pavel in rust_offtopic
ну, стримы это одноразовые промежуточные объекты, реализации ожидают такого обращения с ними, это не просто билдер, что поля сеттит, потому, когда ты хочешь применить другую операцию — тебе надо собирать её из нового стрима
источник

V

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

V

Vabka in rust_offtopic
Чи шо?
источник

P

Pavel in rust_offtopic
Vabka
Тоесть придумывать новый метод для стрима некорректно и надо писать его для источника - итератора?
ещё раз стрим это апи для комбинации операций, источником может быть итератор, а может быть не итератор, конкретно в моём примере был сплитератор, итератор это вырожденный сплитератор, который не может сплитить, потому можно считать, что мои примеры выше, если смотреть в реализацию ждк 11 — не на итераторах, а на RangeIntSpliterator и UnorderedSliceSpliterator
источник

P

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

P

Pavel in rust_offtopic
если источник данных предполагает другие методы доступа к ним — ты можешь использовать подходящие для твоей проблемы, а не "ну, стрим это кароч итератор, пушо мне ща надо именно итератор, значит он должен вести себя так, как я хочу"
источник

А⚙

Антон ⚙️ in rust_offtopic
Pavel
зачем?
Затем, что можно символически подсчитать и потом подсчитать численно после упрощения, чтобы уменьшить погрешности вычисления
источник

P

Pavel in rust_offtopic
Антон ⚙️
Затем, что можно символически подсчитать и потом подсчитать численно после упрощения, чтобы уменьшить погрешности вычисления
спасибо, и часто ты имеешь на входе аналитические данные, а не конкретные числа? проверяешь на входе if(angle.equals(Math.PI / 20, 0.000001)){...} ?
источник

P

Pavel in rust_offtopic
потому, что не часто тебе в алгоритме на константах придётся использовать синус 18 градусов, а маткад и математику пишут среди нас около 0 человек
источник

V

Vabka in rust_offtopic
Pavel
стрим это апи для комбинации операций, ты можешь комбинировать каким угодно способом, в том числе и стримами, если тебе их не хватает — можешь сделать своё апи, которое может быть на стримах, или не на стримах, главное, что конкретную реализацию стрима должен знать источник данных, а не потребитель
Да блять прямо ответь. Вокруг чего стоит строить свои операции? Допустим что мне достаточно методов "получить следующий" и "есть следующий?".
Что есть бест практис в мире джавы?
источник

P

Pavel in rust_offtopic
Vabka
Да блять прямо ответь. Вокруг чего стоит строить свои операции? Допустим что мне достаточно методов "получить следующий" и "есть следующий?".
Что есть бест практис в мире джавы?
тогда тебе хватит итератора
источник