Хороший вопрос, согласен, между стримами и Rx очень много общего, полагаю что они легко смогут подменить друг друга по функционалу. Признаться в стримы я не погружался и не пробовал их на практике, и мне кажется что тут уже выбор за вами
Подскажите, какой Rx вы здесь применили? В RxJava в таком исполнении будут некоторые проблемы:
Во-первых оператор range реализован в виде
range(int start, int count)
, то есть будут взяты элементы не с 2 по 100, а с 2 по 101.
Во-вторых насколько я понимаю оператор reduce принимает на вход функцию
Func2<T, T, T>
, то есть два входных и выходной объекты должны быть одного типа, то есть подавать на вход int-ы не получится, приходится преобразовать их в String, если мы хотим получить String на выходе
На счет takeWhile я соглашусь — можно было отказаться от него указав диапазон в range, здесь я оставил такую реализацию чтобы использовать большее разнообразие операторов
Мне тоже не очень понравилось такое решение, но сделать без двух subscribe не вышло, они так и напрашивались! Если вы сможете подсказать как вы бы это сделали пусть даже для C#, буду благодарен
Во-первых оператор range реализован в виде , то есть будут взяты элементы не с 2 по 100, а с 2 по 101.
Во-вторых насколько я понимаю оператор reduce принимает на вход функцию , то есть два входных и выходной объекты должны быть одного типа, то есть подавать на вход int-ы не получится, приходится преобразовать их в String, если мы хотим получить String на выходе
На счет takeWhile я соглашусь — можно было отказаться от него указав диапазон в range, здесь я оставил такую реализацию чтобы использовать большее разнообразие операторов