Rust/מערכים: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
יצירת דף עם התוכן "{{Rust}} בשיעור זה נלמד על '''מערכים'''. מערך הוא מבנה נתונים שמאפשר שמירה של משתנים רבים מאותו..." |
|||
שורה 27:
# השורה השנייה מכריזה על מערך של מספרים שלמים בשם array2 שבו שלושה איברים. שימו לב שלא חובה לציין את גודל המערך ואת סוג המשתנה מפני שכאשר מאתחלים את האיברים של המערך, הקומפיילר יודע לזהות את הסוג שלו ואת הגודל אוטומטית.
# השורה השלישית מכריזה על מערך של מספרי עשרוניים (float) בשם array3. בדוגמה זו איננו מאתחלים את איברי המערך. שימו לב שבניגוד לשתי הדוגמאות האחרות איברי המערך מוגדרים כ-muttable ולכן נוכל לשנות אותם במהלך התוכנית. כמו כן, חובה לציין את סוג המערך (במקרה זה f64) ואת הגודל שלו (10), כדי שהקומפיילר כמה מקום בזיכרון להקצות.
== גישה לאיברי מערך ==
כדי לגשת לאיבר במערך, נשתמש ב'''אינדקס''' שלו - נכתוב את שם המערך ואחריו בתוך סוגריים מרובעים את המספר הסידורי של האיבר במערך:
<source lang = "rust">
println!("{}", array1[2]);
</source>
בדוגמה זו, הדפסנו את המשתנה שהאינדקס שלו הוא 2 במערך array1.
שימו לב כי בדומה לשפות תכנות רבות, גם בשפת Rust נהוג כי האינדקס הראשון במערך הוא 0 ולא 1. כלומר,
<source lang = "rust">
array1[0]
</source>
הוא האיבר הראשון במערך. כתוצאה מכך, האיבר האחרון במערך בגודל n הוא בעל המספר הסידורי {{משמאל לימין|n - 1}}. אם נצהיר על מערך בגודל 30:
<source lang = "rust">
let mut my_array: [u8; 30];
</source>
האיבר האחרון שנוכל לגשת אליו הוא האיבר באינדקס ה-29 ({{משמאל לימין|array1[29]}}). אם ננסה לגשת לאיבר באינדקס ה-30 נקבל שגיאת קומפילציה.
באותו אופן, ניתן לבצע השמה לאיברי המערך:
<source lang = "rust">
let mut leet = [1, 2, 3, 4];
leet[1] = 3;
leet[3] = 7;
</source>
שימו לב שכמו כל המשתנים האחרים שלמדנו עד כה בשפת ראסט, מערכים מוגדרים כ-immutable כברירת מחדל ואם נרצה לשנות את האיברים שלהם במהלך התוכנית, נצטרך להוסיף להם את המילה mut.
{{הארה|זו לא הפעם הראשונה בה אנו רואים שהמספר הראשון המשתמש לאינדקס של משתנים הוא המספר 0. כבר נתקלנו בזה בשיעור על [[Rust/פלט והצללה|פלט והצללה]] כששלחנו ארגומנטים לפונקציית המאקרו println()!.}}
|