Re[2]: Критика современного С++
От: dsorokin Россия  
Дата: 06.02.19 15:12
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Так же чувак и набежавшая школота приводит Rust в качестве альтернативы забывая о том, что в нем разных НЁХ-ов как бы не меньше и он просто еще не успел с ними столкнуться. Вообще гениальный пример на нём, и это, типа, проще?! Тот кто не осилил рэйнджи, осилит вот это?

KP>
KP>
fn triples(n: u32) -> impl Iterator<Item = (u32, u32, u32)> {
KP>    (0..n).flat_map(move |z| 
KP>        (1..z).flat_map(move |x| 
KP>            (x..z).map(move |y| 
KP>                (x, y, z)
KP>            )
KP>        )
KP>    )
KP>    .filter(|(x, y, z)| x*x + y*y == z*z)
KP>}
KP>


Кстати, читается элементарно для любого, кто знаком с Haskell и Rust. Это просто (один-в-один, если раскрыть list comprehension через монаду списка):

[(x, y, z) | z <- [0..n-1], x <- [1..z-1], y <- [x..z-1], x*x + y*y == z*z]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.