מתודות של מערכים
חלק מהיחידה יסודות במסלול ה-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אתגר
קלצור פונקציה בשם analyze_array שמקבלת מערך של מחרוזות בגודל 5 כארגומנט. המתודה צריכה לבצע את הפעולות הבאות:
- בדוק אם המערך ריק באמצעות המתודה
is_empty()והדפס את התוצאה. - בדוק אם המערך מכיל את המחרוזת
“5”באמצעות המתודהcontains()והדפס את התוצאה. זכור להשתמש ב-String ולא ב-str:“5”.to_string() - הפוך את סדר האיברים במערך והדפס אותו
הפלט צריך להיות בדיוק בפורמט הבא:
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);
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
13המשך מערכים
מערכי הפניות ניתנות לשינוימתודות של מערכיםחזרה – מערך המכפלותחזרה – מערך הפוךהדפסה משופרת5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר Rust אונליין