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

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

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

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

إليك مثالًا:

let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);

الناتج:

apple, orange, cherry

تم تغيير banana إلى orange.

challenge icon

التحدي

سهل

أنشئ برنامجًا يستقبل 3 مدخلات:

  • المدخل الأول هو سلسلة من القيم المفصولة بفاصلة (على سبيل المثال 1,2,3,4,5) بطول 5.
  • المدخل الثاني هو index
  • المدخل الثالث هو عنصر جديد

يحوّل الكود المبدئي بالفعل السلسلة المفصولة بفواصل إلى مصفوفة قابلة للتغيير تُسمى arr. يمكنك العمل عليها مباشرةً دون كتابة أي كود للتحويل.

سيطبع البرنامج مصفوفة معدّلة من خلال تغيير العنصر الموجود عند index المخزّن في المدخل الثاني بالقيمة الموجودة في المدخل الثالث.

جرّب بنفسك

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

fn main() {
    let mut input_str_arr = String::new();
    let mut input_index = String::new();
    let mut new_element = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    io::stdin().read_line(&mut input_index).unwrap();
    io::stdin().read_line(&mut new_element).unwrap();

    let new_element = new_element.trim().to_string();
    let index: usize = input_index.trim().parse().unwrap();
    let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
    
    // اكتب الكود الخاص بك أدناه
    // استخدم arr و index و new_element لحل التحدي    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

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