Beitrag
Teile dein Wissen.
Wie kann ich einen Vektor kopieren<u64>, um ihn mehrfach zu verwenden?
Ich versuche, einen Vektor
- Move CLI
- Move
Antworten
4Wenn Sie nach einem einfachen Weg suchen, copy arr
sollte die Verwendung im Wesentlichen ausreichen, solange Ihre Elemente auf diese Weise kopiert werden können.
Sie können versuchen, eine Funktion wie diese zu schreiben:
public fun copyVector(arr: vector<u64>, ctx: &mut TxContext) {
let i = 0;
let newVec = vector::empty<u64>();
while (i < vector::length(&arr)) {
let element = vector::borrow_mut(&mut arr, i);
let newElement = *element;
vector::push_back(&mut newVec, newElement);
i = i + 1;
};
let new_arr: vector<u64> = copy arr;
Da die Vektorelemente u64 sind, könnten Sie das in Betracht ziehen. Es ist jedoch immer am besten, Ihre Smart Contracts in einem Entwicklungsnetzwerk zu testen, um das richtige Verhalten sicherzustellen.
Das Snippet let new_arr: vector<u64> = arr;
könnte auch funktionieren. Denken Sie jedoch daran, dass Sie es arr
mehrmals verwenden können, da jede Verwendung zu einer Kopie führt.
Weißt du die Antwort?
Bitte melde dich an und teile sie.