Menu
CoddyTech

ערכי החזרה

חלק מהיחידה יסודות במסלול ה-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 אונליין