Publication
Partagez vos connaissances.
Comment puis-je copier un vecteur <u64>pour l'utiliser plusieurs fois ?
J'essaie de copier un vecteur
- Move CLI
- Move
Réponses
4Essentiellement, si vous recherchez un moyen simple, l'utilisation copy arr
devrait suffire tant que vos éléments peuvent être copiés comme ça.
Vous pouvez essayer d'écrire une fonction comme celle-ci :
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;
Puisque les éléments vectoriels sont u64, vous pourriez envisager. Cependant, il est toujours préférable de tester vos contrats intelligents sur un réseau de développement pour garantir leur bon comportement.
L'extrait de code let new_arr: vector<u64> = arr;
peut également fonctionner. Mais n'oubliez pas que vous pouvez l'utiliser arr
plusieurs fois car chaque utilisation donnera lieu à une copie.
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.
Move is an executable bytecode language used to implement custom transactions and smart contracts.