Menu
Coddy logo textTech

Vektör Elemanlarına Erişme

Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 10 / 66.

Elemanları olan bir vektöre sahip olduğunuzda, tekil değerlere erişmeniz gerekecektir. Rust, bir vektörden eleman almak için her biri kolaylık ve güvenlik arasında kendi ödünleşimlerine sahip iki farklı yaklaşım sunar.

İlk yöntem, dizilere benzer şekilde köşeli parantezlerle indeks sözdizimini kullanır:

let numbers = vec![10, 20, 30, 40];
let first = numbers[0]; // 10 değerini alır
let third = numbers[2]; // 30 değerini alır

Bu sözdizimi tanıdık ve kısa olsa da önemli bir risk taşır: var olmayan bir indekse erişmeye çalışırsanız programınız panikleyecek ve çökecektir:

let numbers = vec![10, 20, 30];
let invalid = numbers[5]; // Bu panikleyecektir!

İkinci yöntem, güvenli erişim sağlayan .get() metodunu kullanır:

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

.get() yöntemi bir Option döndürür - dizin mevcutsa Some(value), mevcut değilse None. Bu, sizi öğenin mevcut olmama olasılığını ele almaya zorlayarak çökmeleri önler ve kodunuzu daha sağlam hale getirir.

challenge icon

Görev

Kolay

Bir vektör olan numbers ve bir indeks olan idx alan, güvenli erişim kullanarak o indeksteki elemanı döndüren bir get_element_at fonksiyonu yazın.

Elemana güvenli bir şekilde erişmek için .get() metodunu kullanın. Eğer indeks mevcutsa, değeri döndürün. Eğer indeks mevcut değilse, varsayılan değer olarak -1 döndürün.

Parametreler:

  • numbers (Vec<i32>): Erişilecek vektör
  • idx (i32): Alınacak indeks

Dönüş Değeri: Belirtilen indeksteki eleman veya indeks mevcut değilse -1 (i32)

Kopya kağıdı

Rust, vektör öğelerine erişmek için iki yöntem sunar:

Köşeli parantezlerle indeks sözdizimi:

let numbers = vec![10, 20, 30, 40];
let first = numbers[0]; // 10 değerini alır
let third = numbers[2]; // 30 değerini alır

Eğer indeks mevcut değilse bu yöntem panikleyecektir (panic):

let invalid = numbers[5]; // Bu panikleyecektir!

Güvenli erişim için .get() yöntemi:

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

.get() yöntemi bir Option türü döndürür - indeks varsa Some(value), yoksa None. Bu, çökmeleri önler ve eksik öğelerin açıkça işlenmesini gerektirir.

Kendin dene

fn get_element_at(numbers: Vec<i32>, idx: i32) -> i32 {
    // Kodu buraya yazın
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler