и, в данном случае, преобразовать в строку и напечатать. Куда копать и как это сделать правильно?
.flat вроде?
А можешь дать ссылку. Что-то не гуглится.
а что ты будешь делать с элементами которые не умеют в Display или Debug?
https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.flat_map
Это flat_map который? Он рекурсивно всё обходит?
да, оно работает если у тебя мапка строк в вектор мапок чисел?
fn foo(x: impl IntoIterator<Item=MySuperType>) { for item in x.into_iter() { println!("{x}") } }
Я хочу уметь обходить всякие иерархии и уже в процессе делать с ними что-то. Предположим хочу написать свой рекурсивный display/debug и потому это неважно есть ли там дефолтные или нет
без display же не сработает
Очевидно MySuperType реализует дисплей (ну или дебаг)
звучит как желания рефлексии :D
функцию - хз, а так смотри паттерн Visitor
Обсуждают сегодня