Допис
Діліться своїми знаннями.
Як я можу скопіювати вектор <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
кілька разів, оскільки кожне використання призведе до копії.
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.
Move is an executable bytecode language used to implement custom transactions and smart contracts.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- ... SUITucker+165
- ... SUIDpodium.js+156
- ... SUIGifted.eth+148
- ... SUIacher+107
- ... SUIcasey+88
- ... SUIMiniBob+65
- ... SUItheking+55