Dizinleme ve Yineleme
Öğelere erişip üzerlerinde döngü kurun.
Dizinleme ve Yineleme, 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.
Reading by Index
Bir vektördeki her elemanın indis adı verilen bir konum numarası vardır. İndisler 0'dan başlar, bu yüzden ilk eleman 0 indisindedir.
İlk değer için v[0] gibi köşeli parantezlerle bir elemanı okuyun.
fn main() {
let v = vec![100, 200, 300];
println!("first = {}", v[0]);
println!("third = {}", v[2]);
}Out of Bounds Panics
Bir vektörün sonunun ötesini indekslemek bir paniğe neden olur ve programı durdurur. Uzunluğu 3 olan bir vektör için geçerli olan tek indeksler 0, 1 ve 2'dir.
Burada v[5] istemek çökmeye yol açacaktır, bu nedenle indeksin her zaman sınırda olduğundan emin olun.
Safe Access With get
get yöntemi, hata verip programı durdurmak yerine bir Option döndürür. Dizin mevcutsa Some(value), aralık dışındaysa None alırsınız.
Bu, eksik bir öğeyi güvenle ve hatasız bir şekilde yönetmenizi sağlar.
fn main() {
let v = vec![1, 2, 3];
match v.get(5) {
Some(x) => println!("got {}", x),
None => println!("no such index"),
}
}How Many Elements
len yöntemi eleman sayısını verir. Son geçerli indeks her zaman len - 1'dir.
Uzunluğu bilmek, güvenli bir şekilde döngü kurmanıza veya indekslemeden önce sınırları kontrol etmenize yardımcı olur.
fn main() {
let v = vec![5, 6, 7, 8];
println!("length = {}", v.len());
println!("last = {}", v[v.len() - 1]);
}Looping Over Values
Her bir elemanı ziyaret etmenin en temiz yolu, vektörün bir referansı üzerinden bir for döngüsü kurmaktır. &v kullanmak, vektörü ödünç alır, böylece sonrasında kullanılabilir durumda kalır.
Her geçiş, n değişkenini bir elemanın referansına bağlar.
fn main() {
let v = vec![2, 4, 6];
for n in &v {
println!("value: {}", n);
}
}Looping With Index
Konuma da ihtiyacınız olduğunda iter().enumerate() çağırın. Her adımda (indeks, değer) çiftleri üretir.
Bu, numaralandırılmış çıktılar veya konuma bağlı kurallar için mükemmeldir.
fn main() {
let v = vec!["a", "b", "c"];
for (i, item) in v.iter().enumerate() {
println!("{}: {}", i, item);
}
}Changing Each Element
Değerleri yerinde değiştirmek için &mut v üzerinde döngü kurun ve vektör mut olmalıdır. Her n değiştirilebilir bir referanstır, bu nedenle atama yapmak için onu * ile başvurudan kurtarırsınız (dereference).
Burada her eleman iki katına çıkarılır.
fn main() {
let mut v = vec![1, 2, 3];
for n in &mut v {
*n *= 2;
}
println!("{:?}", v);
}Summing a Vector
Yineleyiciler (iterators) matematiği kolaylaştırır. iter().sum() metodu tüm elemanları birbiriyle toplar.
Rust'ın sonuç türünü bilmesi gerekir, bu yüzden toplamı i32 olarak belirtiyoruz.
fn main() {
let v = vec![10, 20, 30];
let total: i32 = v.iter().sum();
println!("sum = {}", total);
}First and Last
first() ve last() metotları, vektörün uçlarına Option referansları döndürür. Vektör boş olduğunda None verirler.
Bunları kullanmak, manuel indeks matematiğinden ve sınır dışı (out-of-range) çökme durumlarından kaçınmayı sağlar.
fn main() {
let v = vec![7, 8, 9];
println!("{:?}", v.first());
println!("{:?}", v.last());
}Searching With contains
Bir değerin mevcut olup olmadığını kontrol etmek için contains kullanın. Bu fonksiyon, değere bir referans alır ve bir bool döndürür.
Bu işlem vektörü tarar ve üyeliği test etmenin hızlı bir yoludur.
fn main() {
let v = vec![3, 6, 9];
println!("has 6? {}", v.contains(&6));
println!("has 5? {}", v.contains(&5));
}Slicing a Range
Bir dilim, &v[1..3] gibi bir aralık kullanarak bir vektörün bir kısmını ödünç alır. Başlangıç dahil, bitiş hariçtir.
Dilimler, elemanları kopyalamadan bir pencere ile çalışmanıza olanak tanır.
fn main() {
let v = vec![10, 20, 30, 40];
let middle = &v[1..3];
println!("{:?}", middle);
}Quick Check
İndeksleme ve yineleme (iterasyon) konusundaki anlayışınızı test edin.
Recap
Öğeleri dizine göre okudunuz, get ile güvenli bir şekilde eriştiniz ve for, enumerate ve &mut ile döngü oluşturdunuz.
Ayrıca sum, first, last, contains ve dilimleri (slices) kullandınız. Sonraki adımda vektörleri büyütüp küçülteceksiniz.
Sıkça Sorulan Sorular
“Dizinleme ve Yineleme” dersi ücretsiz mi?
Evet — “Dizinleme ve Yineleme” 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.
“Dizinleme ve Yineleme” dersinde ne öğreneceğim?
Öğelere erişip üzerlerinde döngü kurun. 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.
“Dizinleme ve Yineleme” 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
- Vektör Oluşturma ve Doldurma
- Dizinleme ve Yineleme
- Büyütme ve Küçültme
- Struct Vektörleri