Menu
CoddyTech

יצירת וקטור

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Rust של Coddy. שיעור 8 מתוך 66.

עכשיו, אחרי שהבנת מה הם וקטורים, נלמד איך ליצור אותם. Rust מספקת שתי דרכים עיקריות ליצירת וקטור, וכל אחת מתאימה למצבים שונים.

השיטה הראשונה משתמשת ב־Vec::new() כדי ליצור וקטור ריק שאפשר להוסיף לו איברים בהמשך:

let mut numbers = Vec::new();

שימו לב שאנחנו משתמשים ב־mut, כי סביר להניח שנרצה להוסיף איברים לווקטור הריק הזה בהמשך. Rust לא תמיד יכולה לקבוע את הטיפוס של וקטור ריק, ולכן ייתכן שיהיה עליכם לציין אותו במפורש:

let mut numbers: Vec<i32> = Vec::new();

השיטה השנייה משתמשת במאקרו vec![] כדי ליצור וקטור עם ערכים התחלתיים:

let numbers = vec![1, 2, 3, 4, 5];

המאקרו vec![] נוח יותר כשידועים לך הערכים ההתחלתיים. Rust יכולה לקבוע את הסוג באופן אוטומטי לפי הערכים שסיפקת, ולכן אין צורך בהערת סוג. הווקטור הזה מכיל חמישה מספרים שלמים ומוכן לשימוש מיד.

המאקרו vec![] תומך גם בתחביר חזרה ליצירת מערך שמלא באותו ערך. השתמשו ב-vec![value; n] כדי ליצור מערך עם n איברים, שכל אחד מהם מוגדר לערך value:

let zeros = vec![0; 5];   // [0, 0, 0, 0, 0]
let tens = vec![10; 3];   // [10, 10, 10]

הדבר שימושי במיוחד כשרוצים ליצור וקטור בגודל מסוים שנקבע בזמן הריצה, למשל לפי קלט מהמשתמש:

let n = 4;
let data = vec![10; n];   // [10, 10, 10, 10]

שתי הגישות יוצרות אותו סוג של וקטור — הבחירה תלויה בשאלה אם יש לך ערכים התחלתיים או אם בכוונתך לבנות את הווקטור בהדרגה.

challenge icon

אתגר

קל

תקבלו מספר כקלט שמייצג כמה איברים וקטור צריך להכיל. קראו את הקלט, המירו אותו למספר שלם וצרו וקטור עם מספר האיברים הזה, כאשר הערך של כל איבר הוא 10.

דרישות:

  • קראו את הקלט והמירו אותו למספר שלם
  • צרו וקטור באמצעות המאקרו vec![]
  • הווקטור צריך להכיל את מספר האיברים שצוין
  • הערך של כל איבר צריך להיות 10
  • הדפיסו כל איבר בשורה נפרדת

קלט: מספר שלם יחיד שמייצג את מספר האיברים

פלט: הדפיסו כל איבר בווקטור בשורה נפרדת

נסו בעצמכם

use std::io;

fn main() {
    // קראו את הקלט
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let n: usize = input.trim().parse().expect("Invalid input");
    
    // TODO: כתבו את הקוד שלכם למטה
    // צרו וקטור עם n איברים, שלכל אחד מהם הערך 10
    
    
    // הדפיסו כל איבר בשורה נפרדת
    
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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