Menu
Coddy logo textTech

מתודות של מערכים

חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 61 מתוך 75.

מערכים כוללים שיטות רבות (פונקציונליות). כדי לגשת לשיטה, כתבו:

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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Rust אונליין