Move.

Publication

Partagez vos connaissances.

Santorini.
Apr 06, 2025
Questions et Réponses avec des Experts

Comment puis-je copier un vecteur <u64>pour l'utiliser plusieurs fois ?

J'essaie de copier un vecteur dans une variable locale car j'ai besoin de deux instances du même vecteur pour mon projet. J'ai vu quelques méthodes, mais je ne sais pas exactement comment les implémenter correctement. Quelqu'un peut-il me guider sur les meilleures pratiques ou méthodes pour y parvenir dans le langage de programmation Move ?

  • Move CLI
  • Move
0
4
Partager
Commentaires
.

Réponses

4
BlueEyedCrypto.
Apr 6 2025, 05:12

Essentiellement, si vous recherchez un moyen simple, l'utilisation copy arrdevrait suffire tant que vos éléments peuvent être copiés comme ça.

0
Commentaires
.
Bolke .
Apr 6 2025, 16:45

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;
}; 
0
Commentaires
.
DuAn.
Apr 7 2025, 02:27

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.

0
Commentaires
.
elfDani.
Apr 7 2025, 03:25

L'extrait de code let new_arr: vector<u64> = arr;peut également fonctionner. Mais n'oubliez pas que vous pouvez l'utiliser arrplusieurs fois car chaque utilisation donnera lieu à une copie.

0
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

Nous utilisons des cookies pour vous assurer la meilleure expérience sur notre site Web.
Plus d'infos