итераторы?
(даже не спрашивайте, что делает этот проект. просто рандомные штуки)
https://github.com/Asethon/rust-self-study/blob/fc864e7a78f84b2d2fa321cfdb7523a234009b92/src/lib.rs#L40
вместо метода fn print(&self) { лучше реализовать трейт Display
О. Чёт забыл, что так можно.
причем способ для ленивых, у кого rust-analyzer - сделай derive(Display) и потом extract to manualy через code actions - бойлерплейт за тебя сделает :)
а зачем Box в методе validate?
Потому что я до него только недавно дошёл в растбуке и решил поковырять ( .-.)
если убрать Box, то numbers .iter() .flat_map(|number| rules.iter().map(move |rule| (number, rule))) .filter(|(number, rule)| rule.code == &number[0..rule.code.len()]) .filter_map(|(number, rule)| Phone::validate(number, rule)) .collect()
нет, сначала надо на структуре сделать derive(Display), а потом сделать convert to manual impl
такого дерайва в стандартной библиотеке неть
flat_map можно заменить на itertools::Itertools::cartesian_product
тьфу, у меня с бошкой точно не все в порядке :), думаю про debug - говорю про display :)
Обсуждают сегодня