Допис
Діліться своїми знаннями.
Як я можу скопіювати вектор <u64>для використання кілька разів?
Я намагаюся скопіювати вектор у
- Move CLI
- Move
Відповіді
4По суті, якщо ви шукаєте простий спосіб, використання copy arr
має бути достатньо, якщо ваші елементи можна скопіювати так.
Ви можете спробувати написати таку функцію:
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;
Оскільки векторними елементами є u64, ви можете розглянути. Однак завжди краще протестувати свої смарт-контракти в мережі розробників, щоб забезпечити правильну поведінку.
Фрагмент let new_arr: vector<u64> = arr;
також може працювати. Але пам'ятайте, що ви можете використовувати arr
кілька разів, оскільки кожне використання призведе до копії.
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.