Haskell:
סידור קוד לתוך פונקציות

איך לעשות:

הנה איך אתה יכול לכתוב ולהשתמש בפונקציות ב-Haskell:

-- הגדרת פונקציה פשוטה לחיבור שתי מספרים
addNumbers :: Int -> Int -> Int
addNumbers x y = x + y

-- שימוש בפונקציה
main = print (addNumbers 3 5)

פלט:

8

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

-- לוקחת פונקציה ומחילה אותה פעמיים על משהו
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

-- שימוש ב-applyTwice עם פונקציה אנונימית
main = print (applyTwice (*2) 5)

פלט:

20

צלילה עמוקה

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

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

ראה גם