Menu
CoddyTech

Dizi Metotları

Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 61 / 75.

Diziler birçok yöntemle (işlevle) doludur. Bir yönteme erişmek için şunu yaz:

array.methodName(otherParameters)

İşte temel yöntemlerin listesi:

  • len() - dizideki öğe sayısını döndürür
  • contains(value) - dizinin belirli bir değer içerip içermediğini kontrol eder
  • is_empty() - dizinin boş olup olmadığını kontrol eder
  • reverse() - Diziyi tersine çevirir

Örneğin:

let mut numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);

numbers.reverse();
// [50, 40, 30, 20, 10]

is_empty() yöntemine örnek:

let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);

Şu çıktıyı verir:

Is empty: true

contains kullanırken, aradığınız değere & kullanarak bir referans iletmeniz gerekir. Örneğin:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Çıktı: Contains 30: true
challenge icon

Görev

Kolay

analyze_array adlı, argüman olarak 5 elemanlı bir dizge dizisi alan bir işlev oluştur. Yöntem aşağıdaki işlemleri gerçekleştirmelidir:

  1. is_empty() yöntemini kullanarak dizinin boş olup olmadığını kontrol et ve sonucu yazdır.
  2. contains() yöntemini kullanarak dizinin "5" dizgesini içerip içermediğini kontrol et ve sonucu yazdır. str yerine String kullanmayı unutma: "5".to_string()
  3. Diziyi ters çevir ve yazdır

Çıktı tam olarak şu biçimde olmalıdır:

Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...

Kendin dene

use std::io;
use std::convert::TryInto;

fn analyze_array(arr: &mut [String; 5]) {
    // Kodu buraya yazın




    // Elemanları 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);
}
quiz iconKendini test et

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

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi