Menu
CoddyTech

Mengakses Elemen Vektor

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 10 dari 66.

Setelah kamu memiliki vector dengan elemen, kamu perlu mengakses nilai satu per satu. Rust menyediakan dua pendekatan berbeda untuk mengambil elemen dari vector, masing-masing dengan kelebihan dan kekurangan dalam hal kemudahan dan keamanan.

Method pertama menggunakan sintaks indeks dengan tanda kurung siku, mirip dengan array:

let numbers = vec![10, 20, 30, 40];
let first = numbers[0]; // mengambil 10
let third = numbers[2]; // mengambil 30

Meskipun sintaks ini sudah familier dan ringkas, ada risiko besar: jika kamu mencoba mengakses indeks yang tidak ada, programmu akan mengalami panic dan crash:

let numbers = vec![10, 20, 30];
let invalid = numbers[5]; // Ini akan menyebabkan panic!

Method kedua menggunakan method .get(), yang menyediakan akses aman:

let numbers = vec![10, 20, 30, 40];
let first = numbers.get(0); // mengembalikan Some(10)
let invalid = numbers.get(5); // mengembalikan None

method .get() mengembalikan Option, yaitu Some(value) jika indeksnya ada, atau None jika tidak ada. Ini memaksamu menangani kemungkinan bahwa elemennya mungkin tidak ada, sehingga mencegah crash dan membuat kodemu lebih tangguh.

challenge icon

Tantangan

Mudah
Tulis fungsi get_element_at yang menerima sebuah vektor numbers dan indeks idx, lalu mengembalikan elemen pada indeks tersebut dengan akses yang aman.

Gunakan method .get() untuk mengakses elemen dengan aman. Jika indeksnya ada, kembalikan nilainya. Jika indeksnya tidak ada, kembalikan -1 sebagai nilai default.

Parameter:

  • numbers (Vec<i32>): Vektor yang akan diakses
  • idx (i32): Indeks yang akan diambil

Nilai yang dikembalikan: Elemen pada indeks yang diberikan, atau -1 jika indeksnya tidak ada (i32)

Coba sendiri

fn get_element_at(numbers: Vec<i32>, idx: i32) -> i32 {
    // Tulis kodemu di sini
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online