Menu
Coddy logo textTech

ערכי החזרה

חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 48 מתוך 78.

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

השתמשו בפונקציה return() כדי להחזיר ערך מהפונקציה שלכם:

add <- function(a, b) {
  return(a + b)
}

result <- add(5, 3)
print(result)

פלט:

[1] 8

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

כך פונקציות הופכות לרב־תכליתיות הרבה יותר:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))

פלט:

[1] 16

ב-R, אם לא משתמשים ב-return(), הפונקציה מחזירה אוטומטית את הביטוי האחרון שהוערך. עם זאת, שימוש מפורש ב-return() הופך את הקוד לברור יותר, והוא שימושי במיוחד כשרוצים לצאת מפונקציה מוקדם.

challenge icon

אתגר

קל

צרו פונקציה בשם calculate_power שמקבלת שני ארגומנטים: base ו-exponent. הפונקציה צריכה להחזיר את התוצאה של העלאת הבסיס בחזקת המעריך (באמצעות האופרטור ^).

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

לדוגמה, אם הקלט הוא 2 ו-3, הפלט אמור להיות:

[1] 8

אם הקלט הוא 5 ו-2, הפלט אמור להיות:

[1] 25

נסו בעצמכם

# קרא את הקלט
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# TODO: צור פונקציה בשם calculate_power שמקבלת את base ואת exponent
# ומחזירה את base בחזקת exponent באמצעות האופרטור ^


# TODO: קרא לפונקציה שלך עם ערכי הקלט ושמור את התוצאה ב-'result'


# הצג את התוצאה
print(result)
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

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