ארגון קוד לתוך פונקציות

Ruby:
ארגון קוד לתוך פונקציות

איך לעשות:

דמיין שאתה כותב סקריפט מהיר לברך משתמשים:

def greet(name)
  "Hello, #{name}!"
end

puts greet("Alice")   # פלט: Hello, Alice!
puts greet("Bob")     # פלט: Hello, Bob!

או אולי אתה מחשב את שטח המעגל:

def circle_area(radius)
  Math::PI * radius ** 2
end

puts circle_area(5)   # פלט: 78.53981633974483

נקי וקל יותר להתמודד, נכון?

צלילה עמוקה

המושג של פונקציות, ידוע גם כשיטות בRuby, אינו חדש – הוא קדום כמו התכנות עצמו. חוזרים אחורה לשנות ה-50, תת-תכניות, כפי שהיו מוכרות, הוצגו כדי להפחית חפיפה.

אלטרנטיבות? בטח, יש לך קוד inline, או אפשר ללכת על תכנות מונחה עצמים עם classes וobjects, או אפילו פונקציונלי עם lambdas וprocs. אבל הפונקציות הן לחם וחמאה של קוד מסודר. רוצה ביצועים? משתנים מקומיים בפונקציות הם מהירים ופונקציות יכולות להחזיר ערכים מיד עם return.

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

ראה גם