Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
От: rg45 СССР  
Дата: 17.11.25 14:41
Оценка: 3 (1) +1
Здравствуйте, sergii.p, Вы писали:

SP>"длинные слова меня только расстраивают"


SP>C++:

SP>
SP>nums | std::view::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; });
SP>

SP>Haskell:
SP>
SP>map (^2) (filter even nums)
SP>


В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:

http://coliru.stacked-crooked.com/a/c9e461934c26ab45

namsepace my
{
   using std::views::filter;
   inline constexpr auto map = std::views::transform;
   inline constexpr auto even = [](std::integral auto n) {return n % 2 == 0;};
   inline constexpr auto pow = [](auto exp) {return [=](auto base) {return std::pow(base, exp);};};
} // namespace my


И юзай его потом, будет не хуже чем на хаскеле:

nums | filter(even) | map(pow(2))


Конечно, такого синтаксического кариеса как "map(^2)" не получится, но, имхо, это и к лучшему.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 18.11.2025 16:54 rg45 . Предыдущая версия . Еще …
Отредактировано 17.11.2025 19:33 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 17:00 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:40 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:29 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:25 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 16:19 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 15:25 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 14:44 rg45 . Предыдущая версия .
Отредактировано 17.11.2025 14:43 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.