ערכי החזרה
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 50 מתוך 88.
עד כה, המתודות שלנו ביצעו פעולות כמו הדפסת פלט. אבל מתודות נעשות שימושיות באמת כשהן יכולות להחזיר נתונים לקוד שקרא להן. לשם כך נועדו ערכי החזרה.
ב-Ruby, מתודה מחזירה באופן אוטומטי את הערך של הביטוי האחרון שלה:
def add(a, b)
a + b
end
result = add(5, 3)
puts result # פלט: 8שימו לב שאין puts בתוך המתודה. במקום זאת, המתודה מחשבת את a + b ומחזירה את הערך הזה. לאחר מכן נוכל לשמור אותו במשתנה או להשתמש בו ישירות.
אפשר גם להשתמש במילת המפתח return באופן מפורש:
def multiply(a, b)
return a * b
end
puts multiply(4, 5) # פלט: 20מילת המפתח return יוצאת מיד מהמתודה ומחזירה את הערך שצוין. הדבר שימושי כשרוצים לצאת מוקדם בהתאם לתנאי. שתי הגישות עובדות, אך מתכנתי Ruby מסתמכים לעיתים קרובות על החזרה משתמעת כדי לכתוב קוד נקי יותר.
ערכי החזרה מאפשרים לך לשרשר פעולות ולבנות לוגיקה מורכבת משיטות פשוטות:
def double(n)
n * 2
end
puts double(double(3)) # פלט: 12אתגר
קלהגדר שיטה בשם square שמקבלת פרמטר אחד n ומחזירה את הריבוע של המספר הזה (המספר כפול עצמו).
קרא שני מספרים שלמים מהקלט. השתמש בשיטה square כדי לחשב את הריבוע של כל מספר, ואז הדפס את סכום שני הריבועים.
לדוגמה, אם הקלטים הם 3 ו-4:
- הריבוע של 3 הוא 9
- הריבוע של 4 הוא 16
- הסכום הוא 25
הפלט צריך להיות:
25אם הקלטים הם 5 ו-2, הפלט צריך להיות:
29נסו בעצמכם
# קראו שני מספרים שלמים מהקלט
num1 = gets.chomp.to_i
num2 = gets.chomp.to_i
# TODO: הגדירו למטה את המתודה square
# TODO: חשבו את סכום הריבועים באמצעות המתודה square והדפיסו את התוצאההשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין