Array dengan Memori Dinamis
Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 37 dari 53.
Gunakan new uint256[](length) untuk mengalokasikan array di memory dengan panjang yang dipilih saat program berjalan. Elemen-elemennya dimulai dari nol. Meskipun tipe ini menggunakan tanda kurung siku kosong, array di memory yang dialokasikan tidak dapat diubah ukurannya dengan push atau pop.
Pernyataan dalam cuplikan ini berjalan di dalam fungsi main yang disediakan.
uint256[] memory values = new uint256[](3);
values[1] = 19;
console.log(values.length);
console.log(values[0]);array tersebut memiliki tiga slot dan hanya slot tengah yang diberi nilai. Elemen pertamanya tetap nol. property length melaporkan jumlah elemen yang ada, bukan nilai elemen terakhir.
array uint256 memory yang baru dialokasikan dimulai dengan elemen bernilai nol.
Tantangan
MudahAlokasikan array memori dengan panjang n, tetapkan elemen terakhirnya ke marker, lalu cetak panjang dan elemen terakhirnya. n berada di antara 1 dan 8.
Pengujian memberikan argumen ke main dengan urutan ini: uint256 n, uint256 marker. Setiap pengujian dimulai dengan state kontrak yang baru.
Gunakan console.log untuk output yang diminta. Cetak hanya nilai yang diminta, satu per baris, tanpa label tambahan kecuali tugas menyebutkannya.
Coba sendiri
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n, uint256 marker) external view {
// Tulis solusimu di sini.
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
2Variabel dan Tipe Data
Bilangan Bulat Tanpa Tandainput dan outputBilangan Bulat BertandaNilai Booleanstring dalam MemoriKartu Profil5Fungsi
Parameter FungsiMengembalikan NilaiFungsi MurniPemanggilan Fungsi PembantuPerhitungan yang Dapat Digunakan Kembali8Array
Array Berukuran TetapArray dengan Memori DinamisArray PenyimpananPerulangan pada ArrayRingkasan ArrayLatihan sendiri: Playground Solidity