Сообщение Re[3]: Может я чего-то не понимаю.... от 26.07.2023 6:18
Изменено 26.07.2023 6:56 rg45
Re[3]: Может я чего-то не понимаю....
Здравствуйте, bnk, Вы писали:
R>
bnk>Особенно сравнивая с нормальными языками :-
bnk>
Ну ты же жульничаешь — ты не положил числа в выходной массив. Ты предоставть законченное решение, тогда и сравним.
И запись, с которой сравниваешь, удалил зачем-то. Наверное, для того, чтобы сделать сравнение максимально наглядным
А во-вторых, в С++ тоже можно решить эту задачу в функциональном стиле и с lazy evaluation. Необходимая поддержка для этого есть давно уже есть в boost и сравнительно недавно появилась в стандартной библиотеке, в std::ranges:
Ну да, в C++ лябмды не выглядят столь компактными как в "нормальных" языках, но мы же не состязаемся в синтаксическом кариесе, правда?
R>
for(int x : numbers_in) if (!x % 2) numbers_out.push_back(x / 2);
bnk>Особенно сравнивая с нормальными языками :-
bnk>
numbers_in.filter(x => x % 2 == 0).map(x => x / 2)
Ну ты же жульничаешь — ты не положил числа в выходной массив. Ты предоставть законченное решение, тогда и сравним.
И запись, с которой сравниваешь, удалил зачем-то. Наверное, для того, чтобы сделать сравнение максимально наглядным
А во-вторых, в С++ тоже можно решить эту задачу в функциональном стиле и с lazy evaluation. Необходимая поддержка для этого есть давно уже есть в boost и сравнительно недавно появилась в стандартной библиотеке, в std::ranges:
numbers_in | filtered([](int x){ return !x % 2; }) | transformed([](int x){ return x / 2; });
Ну да, в C++ лябмды не выглядят столь компактными как в "нормальных" языках, но мы же не состязаемся в синтаксическом кариесе, правда?
Re[3]: Может я чего-то не понимаю....
Здравствуйте, bnk, Вы писали:
R>
bnk>Особенно сравнивая с нормальными языками :-
bnk>
Ну ты же жульничаешь — ты не положил числа в выходной массив. Ты предоставть законченное решение, тогда и сравним.
И запись, с которой сравниваешь, удалил зачем-то. Наверное, для того, чтобы сделать сравнение максимально наглядным
А во-вторых, в С++ тоже можно решить эту задачу в функциональном стиле и с lazy evaluation. Необходимая поддержка для этого есть давно уже есть в boost и сравнительно недавно появилась в стандартной библиотеке, в std::ranges:
http://coliru.stacked-crooked.com/a/dda09192df73cb9d
Ну да, в C++ лябмды не выглядят столь компактными как в "нормальных" языках, но мы же не состязаемся в синтаксическом кариесе, правда?
R>
for(int x : numbers_in) if (!(x % 2)) numbers_out.push_back(x / 2);
bnk>Особенно сравнивая с нормальными языками :-
bnk>
numbers_in.filter(x => x % 2 == 0).map(x => x / 2)
Ну ты же жульничаешь — ты не положил числа в выходной массив. Ты предоставть законченное решение, тогда и сравним.
И запись, с которой сравниваешь, удалил зачем-то. Наверное, для того, чтобы сделать сравнение максимально наглядным
А во-вторых, в С++ тоже можно решить эту задачу в функциональном стиле и с lazy evaluation. Необходимая поддержка для этого есть давно уже есть в boost и сравнительно недавно появилась в стандартной библиотеке, в std::ranges:
http://coliru.stacked-crooked.com/a/dda09192df73cb9d
numbers_in | filtered([](int x) { return !(x % 2); }) | transformed([](int x) { return x / 2; });
Ну да, в C++ лябмды не выглядят столь компактными как в "нормальных" языках, но мы же не состязаемся в синтаксическом кариесе, правда?