Move.

Publicación

Comparte tu conocimiento.

Santorini.
Apr 06, 2025
P&R expertos

¿Cómo puedo copiar un vector <u64>para usarlo varias veces?

Estoy intentando copiar un vector en una variable local porque necesito dos instancias del mismo vector para mi proyecto. He visto algunos métodos, pero no estoy del todo seguro de cómo implementarlos correctamente. ¿Alguien puede guiarme sobre las mejores prácticas o métodos para lograrlo en el lenguaje de programación Move?

  • Move CLI
  • Move
0
4
Cuota
Comentarios
.

Respuestas

4
BlueEyedCrypto.
Apr 6 2025, 05:12

Básicamente, si buscas una forma sencilla, el uso copy arrdebería ser suficiente siempre que tus elementos se puedan copiar de esa manera.

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

Puedes intentar escribir una función como esta:

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
Comentarios
.
DuAn.
Apr 7 2025, 02:27

let new_arr: vector<u64> = copy arr;Como los elementos vectoriales son u64, podrías considerarlo. Sin embargo, siempre es mejor probar tus contratos inteligentes en una red de desarrollo para garantizar el comportamiento correcto.

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

El fragmento let new_arr: vector<u64> = arr;también podría funcionar. Pero recuerda que puedes usarlo arrvarias veces, ya que cada uso generará una copia.

0
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Publicaciones231Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información