Menu
Coddy logo textTech

מהו 'Option'?

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

בתכנות, לעיתים קרובות נתקלים במצבים שבהם ערך עשוי להיות קיים או לא. לדוגמה, חיפוש פריט ברשימה עשוי למצוא אותו, או שהוא עשוי לא להתקיים כלל. שפות תכנות מסורתיות משתמשות לעיתים קרובות בערכים מיוחדים כמו null או -1 כדי לייצג "כלום", אבל גישה זו עלולה להוביל לבאגים ולקריסות.

Rust נוקטת גישה שונה באמצעות ה-enum Option<T>. זהו טיפוס מובנה שמייצג במפורש אפשרות של היעדר ערך. במקום לנחש אם ערך קיים, Rust מחייבת אותך לטפל מראש בשני המקרים.

ל-enum Option יש בדיוק שתי אפשרויות:

Some(value)  // מכיל ערך
None         // לא מכיל ערך

כשייתכן שפונקציה לא תחזיר ערך, היא מחזירה Option. אם יש ערך להחזיר, היא עוטפת אותו ב־Some. אם אין ערך, היא מחזירה None.

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

כבר ראיתם את Option בפעולה עם המתודה .get() של מפת גיבוב — היא מחזירה Some(&value) כשהמפתח קיים, או None כשהוא לא קיים. התבנית הזאת מופיעה בכל רחבי Rust, והופכת את הקוד שלכם לבטוח וצפוי יותר.

נסו בעצמכם

השיעור הזה לא כולל אתגר קוד.

quiz iconבחנו את עצמכם

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

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

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