0Pricing
Learn Rust Coding · Ders

Dilimler

Ödünç alınan görünümler

Dilimler, CoddyKit'te ücretsiz bir Learn Rust Coding dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn Rust Coding öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn Rust Coding kursu toplamda 4 dersten oluşur.

Dilim Nedir?

Dilim, bir koleksiyonun bitişik bir bölümüne ait ödünç alınmış görünümdür. Verilerin sahibi değildir — mevcut verilerin içindeki bir bölümü gösterir.

Dilimler, köşeli parantezlerin içinde bir aralık kullanılarak yazılır.

fn main() {
    let arr = [1, 2, 3, 4, 5];
    let part = &arr[1..4];
    println!("{:?}", part);
}

Dilim Aralığı Sözdizimi

Aralıklar bir başlangıç ve bitiş indeksi seçer. Bitiş hariçtir.

  • &v[1..4] — 1, 2 ve 3 indeksleri.
  • &v[..3] — başlangıçtan 3'e kadar.
  • &v[2..] — 2'den sona kadar.
fn main() {
    let v = vec![10, 20, 30, 40];
    println!("{:?}", &v[..2]);
    println!("{:?}", &v[2..]);
}

Dize Dilimleri

Bir dize dilimi olan &str, bir String'in bir bölümünü gösterir. İndeks aralıkları bayt konumlarına göredir.

fn main() {
    let s = String::from("hello world");
    let hello = &s[0..5];
    let world = &s[6..11];
    println!("{} {}", hello, world);
}

Tüm Koleksiyonun Dilimleri

Koleksiyonun tamamını dilimlemek için &v[..] kullanınız. Vec'in bir dilimi ödünç alma yöntemi budur.

fn main() {
    let v = vec![1, 2, 3];
    let whole = &v[..];
    println!("{:?}", whole);
}

Parametre Olarak Dilimler

&[T] alan fonksiyonlar hem dizileri hem de vektörleri kabul eder. Bu, onları esnek hâle getirir.

fn sum(items: &[i32]) -> i32 {
    let mut total = 0;
    for x in items {
        total += x;
    }
    total
}

fn main() {
    let v = vec![1, 2, 3];
    let a = [4, 5, 6];
    println!("{} {}", sum(&v), sum(&a));
}

Dilimler Ödünç Alır, Sahip Olmaz

Bir dilim ödünç aldığı için, dilim kullanıldığı sürece asıl koleksiyon yaşamaya devam etmelidir. Derleyici bunu zorunlu kılar.

fn main() {
    let v = vec![100, 200, 300];
    let s = &v[0..2];
    println!("slice {:?}, original {:?}", s, v);
}

Dilim Uzunluğu

Diğer koleksiyonlar gibi dilimlerin de kapsadıkları öğe sayısını veren bir len() metodu vardır.

fn main() {
    let v = vec![5, 6, 7, 8, 9];
    let middle = &v[1..4];
    println!("length {}", middle.len());
}

first ve last

Dilimler, boş dilimlerin güvenli şekilde işlenebilmesi için Option döndüren first() ve last() metotlarını sunar.

fn main() {
    let data = [10, 20, 30];
    let s = &data[..];
    println!("{:?} {:?}", s.first(), s.last());
}

Bir Dilim Üzerinde Yineleme

Bir dilim üzerinde tıpkı diğer koleksiyonlarda olduğu gibi yineleme yapabilirsiniz.

fn main() {
    let v = vec![1, 2, 3, 4];
    for x in &v[1..3] {
        println!("{}", x);
    }
}

İlk Sözcük Fonksiyonu

Dilimlerin yaygın kullanım alanlarından biri, cümlenin ilk sözcüğü gibi mevcut metnin içindeki bir dilimi döndürmektir.

fn first_word(s: &str) -> &str {
    let bytes = s.as_bytes();
    for (i, &b) in bytes.iter().enumerate() {
        if b == b' ' {
            return &s[0..i];
        }
    }
    s
}

fn main() {
    println!("{}", first_word("hello there"));
}

Dilimler Neden Güvenlidir?

Dilimler, başıboş başvuruları önlerken verilerin kopyalanmasını da engeller. Ödünç alma denetleyicisi, temel verilerin dilimden daha uzun süre yaşamasını garanti eder.

fn main() {
    let words = vec!["a", "b", "c", "d"];
    let pair = &words[1..3];
    println!("{:?}", pair);
}

Kısa Kontrol

Bir dilimin neyi temsil ettiğini hatırlayınız.

Özet

Rust'ta dilimler:

  • Ödünç alınmış görünüm: &v[start..end]; bitiş hariçtir.
  • &str bir dize dilimidir; &[T] bir dizi/vektör dilimidir.
  • Dilim parametreleri hem dizileri hem de vektörleri kabul eder.
  • Ödünç alma denetleyicisi dilimleri güvenli tutar.
fn average(nums: &[i32]) -> i32 {
    nums.iter().sum::<i32>() / nums.len() as i32
}

fn main() {
    let v = vec![4, 8, 12];
    println!("{}", average(&v[..]));
}

Sıkça Sorulan Sorular

“Dilimler” dersi ücretsiz mi?

Evet — “Dilimler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn Rust Coding kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn Rust Coding kursu toplamda 4 dersten oluşur.

“Dilimler” dersinde ne öğreneceğim?

Ödünç alınan görünümler Learn Rust Coding ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn Rust Coding öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn Rust Coding, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Dilimler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn Rust Coding dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn Rust Coding dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. String ve &str Karşılaştırması
  2. Dilimler
  3. Dize Yöntemleri
  4. UTF-8 ve Karakterler
← Learn Rust Coding Sayfasına Dön