Menu
Coddy logo textTech

ארגומנטים של פונקציה

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

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

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

greet <- function(name) {
  print(paste("Hello,", name))
}

greet("Alice")
greet("Bob")

פלט:

[1] "Hello, Alice"
[1] "Hello, Bob"

הפונקציה עובדת כעת עם כל שם שתספקו. כשאתם קוראים ל־greet("Alice"), הערך "Alice" מוקצה לפרמטר name בתוך הפונקציה.

ניתן להגדיר כמה ארגומנטים על ידי הפרדתם בפסיקים:

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

add(5, 3)
add(10, 20)

פלט:

[1] 8
[1] 30

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

challenge icon

אתגר

קל

צרו פונקציה בשם calculate_area שמקבלת שני ארגומנטים: length ו-width. הפונקציה צריכה להדפיס את השטח (length כפול width) באמצעות print().

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

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

[1] 15

אם הקלטים הם 7 ו-4, הפלט צריך להיות:

[1] 28

נסו בעצמכם

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

# TODO: צרו פונקציה בשם calculate_area שמקבלת length ו-width
# ומדפיסה את השטח (length * width)


# קראו לפונקציה שלכם עם ערכי הקלט
quiz iconבחנו את עצמכם

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

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

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