Publicación
Comparte tu conocimiento.
¿Cómo puedo copiar un vector <u64>para usarlo varias veces?
Estoy intentando copiar un vector
- Move CLI
- Move
Respuestas
4Básicamente, si buscas una forma sencilla, el uso copy arr
debería ser suficiente siempre que tus elementos se puedan copiar de esa manera.
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;
};
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.
El fragmento let new_arr: vector<u64> = arr;
también podría funcionar. Pero recuerda que puedes usarlo arr
varias veces, ya que cada uso generará una copia.
Sabes la respuesta?
Inicie sesión y compártalo.