Dizi Metotları
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 61 / 75.
Diziler birçok metot (işlevsellik) ile donatılmıştır. Bir metoda erişmek için şunu yazın:
array.methodName(otherParameters)Temel metotların listesi aşağıdadır:
len()- dizideki öğe sayısını döndürürcontains(value)- dizinin belirli bir değer içerip içermediğini kontrol eder
is_empty()- dizinin boş olup olmadığını kontrol ederreverse()- diziyi tersine çevirir
Örneğin:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);
numbers.reverse()
// [50, 40, 30, 20, 10]is_empty() metodunun örneği:
let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);Şu çıktıyı verecektir:
Is empty: truecontains kullanırken, & kullanarak aradığınız değere bir referans geçmeniz gerekir. Örneğin:
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Çıktı: Contains 30: trueGörev
KolayArgüman olarak 5 boyutunda bir dize (string) dizisi alan analyze_array adında bir fonksiyon oluşturun. Yöntem aşağıdaki işlemleri gerçekleştirmelidir:
is_empty()yöntemini kullanarak dizinin boş olup olmadığını kontrol edin ve sonucu yazdırın.contains()yöntemini kullanarak dizinin"5"dizesini içerip içermediğini kontrol edin ve sonucu yazdırın. str değil String kullanmayı unutmayın:"5".to_string()- Diziyi tersine çevirin ve yazdırın
Çıktı tam olarak şu formatta olmalıdır:
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...Kopya kağıdı
Diziler, nokta notasyonu ile erişilen yerleşik metotlara sahiptir:
array.methodName(otherParameters)Temel dizi metotları:
len()- eleman sayısını döndürürcontains(value)- dizinin belirli bir değeri içerip içermediğini kontrol ederis_empty()- dizinin boş olup olmadığını kontrol ederreverse()- diziyi tersine çevirir
Örnekler:
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
let has_thirty = numbers.contains(&30);
let empty = numbers.is_empty();
numbers.reverse(); // [50, 40, 30, 20, 10]Not: contains() metodu, & kullanarak değere bir referans gerektirir.
Kendin dene
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Kodu buraya yazın
// Öğeleri satır satır yazdırın
for element in arr.iter() {
println!("{}", element);
}
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
analyze_array(&mut arr);
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış13Dizilere Devam
Değiştirilebilir Referans DizileriDizi MetotlarıTekrar - Çarpım DizisiTekrar - Ters Çevrilmiş DiziDaha İyi Yazdırma5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik Girdi