Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دوال المصفوفات

جزء من قسم Fundamentals في رحلة Rust على Coddy. الدرس 61 من 75.

المصفوفات مزودة بالعديد من الدوال (methods). للوصول إلى دالة، اكتب:

array.methodName(otherParameters)

إليك قائمة بالأساليب الأساسية:

  • len() - تعيد عدد العناصر في المصفوفة
  • contains(value) - تتحقق مما إذا كانت المصفوفة تحتوي على قيمة محددة
  • is_empty() - يتحقق مما إذا كانت المصفوفة فارغة
  • reverse() - يعكس المصفوفة

على سبيل المثال:

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

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

مثال على طريقة is_empty():

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

سيكون الناتج:

Is empty: true

عند استخدام contains، تحتاج إلى تمرير مرجع للقيمة التي تبحث عنها باستخدام &. على سبيل المثال:

let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// المخرجات: Contains 30: true
challenge icon

التحدي

سهل

أنشئ دالة باسم analyze_array تستقبل مصفوفة من السلاسل النصية بحجم 5 كوسيط. يجب أن تقوم الطريقة بالعمليات التالية:

  1. تحقق مما إذا كانت المصفوفة فارغة باستخدام طريقة is_empty() واطبع النتيجة.
  2. تحقق مما إذا كانت المصفوفة تحتوي على السلسلة النصية “5” باستخدام طريقة contains() واطبع النتيجة. تذكر استخدام String وليس str: “5”.to_string()
  3. اعكس المصفوفة واطبعها

يجب أن يتبع المخرج هذا التنسيق تماماً:

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

جرّب بنفسك

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

fn analyze_array(arr: &mut [String; 5]) {
    // اكتب الكود هنا




    // اطبع العناصر سطرًا بسطر
    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 iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals

تدرّب بنفسك: مترجم Rust عبر الإنترنت