Ich habe eine Vec<Vec<char>>
und ich möchte alle X, Y-Positionen eines bestimmten Charakters finden, sagen wir "x". Ich kann eine doppelte for-Schleife mit enumerieren und manuell die Lösung aufbauen (und ich würde vermuten, das ist die gesunde Sache zu tun), aber gibt es eine nette Möglichkeit, es mit nichts als Iteratoren zu tun?Wie kann ich ein 2D-Array ohne for-Schleifen durchsuchen?
Mehr oder weniger ich bin auf der Suche nach Möglichkeiten, diese zu bereinigen:
let locs: Vec<(usize, (usize, &char))> = grid.iter()
.enumerate()
.flat_map(|(ind, row)|
iter::repeat(ind)
.zip(row.iter()
.enumerate()))
.filter(|&(x, (y, ch))| ch == 'x')
.collect();
Zum einen ist es eine Möglichkeit, die Tupel zu glätten?
Ich habe versucht, aber je mehr ich tat, desto weniger gesund sah es aus. – ljedrz