Gibt es eine Möglichkeit, etwas wie das Folgende zu erreichen:
%Vor% So dass a = 1
und b = 2
am Ende?
Ich weiß, ich könnte einfach einen Vektor verwenden, aber ich hätte gern benannte Variablen.
Dies ist vielleicht nicht genau das, wonach Sie gefragt haben, aber ich nehme an, dass Sie selten einen beliebig großen Vektor in ein Tupel konvertieren wollen. Wenn Sie nur die ersten paar Elemente eines Vektors in ein Tupel extrahieren möchten, können Sie das nächtliche experimentelle Feature slice pattern matching verwenden:
%Vor% Die Itertoolkiste hat Methoden wie tuples
und next_tuple
, das dabei helfen kann.
Ich habe dieses hässliche rekursive Makro geschrieben, das ein Vec
in ein Tupel konvertiert, weil ich etwas über Makros lernen wollte.
Ich bin neu und wahrscheinlich sehr schlecht darin, also gibt es wahrscheinlich einen besseren Weg, es zu tun. Dies ist nur ein Beweis für das Konzept. Es erlaubt Ihnen zu schreiben:
%Vor% Irgendwo in dieser Makrodefinition finden Sie den Teil $v[$j]
, den Sie durch $v.nth($j)
ersetzen könnten, wenn Sie ihn für Iteratoren verwenden möchten.
Tags und Links rust