Gibt es eine Möglichkeit, einen Iterator in ein Tupel zu entpacken?

9

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.

    
anderspitman 08.04.2015, 02:29
quelle

3 Antworten

8

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%     
helios35 08.04.2015, 08:11
quelle
5

Die Itertoolkiste hat Methoden wie tuples und next_tuple , das dabei helfen kann.

%Vor%     
gcp 01.02.2017 17:00
quelle
3

Ich habe dieses hässliche rekursive Makro geschrieben, das ein Vec in ein Tupel konvertiert, weil ich etwas über Makros lernen wollte.

%Vor%

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.

    
Jesko Hüttenhain 14.05.2017 19:02
quelle

Tags und Links