פונקציות ומשתנים
הקדמה
הפילוסופיה המרכזית בתכנון שפת התכנות Wave היא לשמור על איזון בין ביצועים ברמה נמוכה לבין הפשטה ברמה גבוהה, תוך מתן סביבת פיתוח תוכנה יעילה וגמישה. סעיף זה מציג את המרכיבים הבסיסיים ביותר המרכיבים את תוכניות Wave, שהן פונקציות ומשתנים.
פונקציות הן יחידות מרכזיות לבניית פעולות ולוגיקה בתוכנית, בעוד משתנים מאחסנים ומנהלים את הנתונים הדרושים בתהליך זה. על ידי הבנה מדויקת של כיצד להגדיר ולשמש פונקציות ומשתנים, ניתן לנצל לעומק את המבנה והכוונה התכנונית של שפת Wave.
פונקציה
ב-Wave, פונקציה היא בלוק קוד ניתנת לביצוע עצמי שניתן לשימוש חוזר. ניתן לאגד פעולות או חישובים מסוימים ליחידה אחת שניתן לקרוא לה בכל מקום בתוכנית לפי הצורך.
שימוש בפונקציות יכול להפחית את הקוד החוזר על עצמו ולשפר את הקריאות ותחזוקת התוכנית על ידי הפרדתה לוגית. יש להן שימושים מגוונים כמו עיבוד חישובי, ניהול קלט-פלט, והפרדת לוגיקה.
ב-Wave, פונקציה מוגדרת באמצעות מילת המפתח fun, שם הפונקציה, רשימת פרמטרים, וגוף הפונקציה התחום בסוגריים מסולסלים {}.
הגדרת פונקציה
ב-Wave, הצורה הבסיסית ביותר להגדרת פונקציה היא כדלקמן.
fun main() {
// כתוב קוד כאן
}
הפונקציה main היא נקודת הכניסה לביצוע התוכנית, ובתוכניות Wave חייבת להיות קיימת פונקציה main אחת.
התוכנית מתחילה את הביצוע מתוך פונקציה זו.
פונקציות יכולות לכלול פרמטרים לפי הצורך ולהחזיר תוצאת חישוב או ערך למקום ממנו נקראו. במקרה של ערך מוחזר, יש לציין את סוג הערך בהצהרת הפונקציה.
דוגמה: פונקציה פשוטה
הדוגמה הבאה היא פונקציה פשוטה שמקבלת שני מספרים שלמים ומחזירה את סכומם.
fun add(a :i32, b :i32) -> i32 {
return a + b;
}
fun main() {
var result = add(5, 7); // קריאת פונקציית add
println(result); // הדפסה: 12
}
בדוגמה זו, פונקציית add מקבלת שני פרמטרים שלמים a ו-b, מחברת אותם ומחזירה את התוצאה.
בתוך הפונקציה main, הפונקציה add נקראת, הערך המוחזר נשמר במשתנה ומודפס.
באופן כזה, פונקציות מאפשרות לכמוס פעולות מסוימות ולהשתמש בהן מחדש בחלקים שונים של התוכנית.
משתנים
משתנים משמשים לאחסון ולניהול נתונים בתוך תוכנית. ב-Wave, ההגדרה של משתנים מתירה הבדלה ברורה בין משתנים משתנים לבין משתנים קבועים, כך ניתן להבהיר את כוונת שינוי הנתונים ברמת הקוד.
באמצעות זאת, מצב התוכנית נעשה ברור יותר, ומופחתות שגיאות הנובעות משינויים בלתי מכוונים בערכים.
משתנה בר שינוי
ב-Wave, משתנים הם ברי שינוי במחדל. כלומר, גם לאחר הכרזה ניתן לשנות את הערך בזמן הרצת התכנית.
משתנה בר שינוי מוכרז באמצעות המילה var.
var x :i32 = 10;
x = 20;
בקוד לעיל, ערך ראשוני של x הוא 10, ולאחר מכן ניתן לשנות אותו ל-20.
בנתונים שיש לשנות את מצבם, נעשה שימוש במשתנים ברי שינוי.
משתנה קבוע
כאשר מכריזים על משתנה כלא בר שינוי, לא ניתן לשנות את הערך לאחר ההקצאה הראשונית. משתנה קבוע מוכרז באמצעות המילה let.
let y :i32 = 5;
// y = 10; // שגיאה: לא ניתן לשנות ערך של משתנה קבוע.
משתנה קבוע עוזר להבטיח שהערך לא ישתנה, ובכך מעלה את היציבות והיכולת לנבא את פעולת התכנית. מומלץ להשתמש במשתנים קבועים לנתונים שאין צורך לשנות את ערכם.
ב-Wave, ניתן להשתמש במילת המפתח let בצירוף mut כדי לאפשר שינויים בערך.
let mut y :i32 = 5;
y = 10;
המקרה בו משתנה הוכרז עם let, אך ניתן לשנות את ערכו באמצעות mut.
דוגמה להצהרת משתנה
להלן דוגמה להכרזת משתנים קבועים ובר שינוי בטיפוסים שונים.
var x :i32 = 10;
let y :f64 = 3.14159;
var name :str = "Wave";
let is_active :bool = true;
בדוגמה זו, x ו-name הם משתנים ברי שינוי, בעוד ש-y ו-is_active הם משתנים קבועים.
ב-Wave, ההבדלה הברורה בין var ל-let מציגה את האפשרות לשינוי הנתונים ברמת הקוד.
שימוש נכון בהפרדה בין משתנים קבועים ובר שינוי מאפשר לשמור על עקביות בנתונים ולתכנת תכנית יציבה יותר.