Wie tausche ich zwei Variablen?

8

Was ist der nächstliegende äquivalente Rust-Code zu diesem Python-Code?

%Vor%

Ich versuche eine iterative Fibonacci-Funktion zu schreiben. Ich habe Python-Code, den ich nach Rust konvertieren möchte. Alles ist in Ordnung, außer für den Swap-Teil.

%Vor%     
Nsukami _ 04.08.2015, 00:13
quelle

2 Antworten

14

Beim Austausch von Variablen ist es am wahrscheinlichsten, dass Sie neue Bindungen für a und b erstellen.

%Vor%

In Ihrem konkreten Fall gibt es jedoch keine schöne Lösung. Wenn Sie wie oben vorgehen, erstellen Sie immer neue Bindungen für a und b , aber Sie möchten die vorhandenen Bindungen ändern. Eine Lösung, die ich kenne, ist die Verwendung eines temporären:

%Vor%

Sie könnten es auch so machen, dass Sie das Tupel mutieren:

%Vor%

Sie könnten auch daran interessiert sein, den Inhalt von zwei Speicherbereichen auszutauschen. 99 +% der Zeit, möchten Sie die Variablen neu binden, aber eine sehr kleine Menge an Zeit, die Sie Dinge "an Ort und Stelle" ändern möchten:

%Vor%

Beachten Sie, dass es nicht prägnant ist, dies zu tun und die Werte in einem Schritt zusammenzufassen.

    
Shepmaster 04.08.2015, 00:21
quelle
6

Außerdem ist es besser, die Fibonacci-Sequenz in Rust zu implementieren, indem Sie Iterator verwenden. Merkmal:

%Vor%

Siehe Die Rust-Programmiersprache Kapitel zu Iteratoren .

    
aSpex 04.08.2015 21:03
quelle

Tags und Links