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

תוכן שנמחק תוכן שנוסף
←‏List Comprehension: ע"פ ויקי האנגלית זה לא אותו דבר, וכנראה שזה נכון.
קצר יותר
שורה 21:
===העברת פונקציה כפרמטר===
פונקציה המקבלת פונקציה כפרמטר נקראת "פונקציה מסדר גבוה". שלוש דוגמאות לפונקציות חשובות מסדר גבוה: map, filter, reduce.
* map, המקבלת פונקציה ורשימה, ומפעילה את הפונקציה על כל איבר ברשימה. הקוד הבא בשפת ML מגדיריוצר פונקציהרשימה המעלהשכל אתאיבריה הפרמטרחיוביים שלהבעזרת בריבוע,פונקציית ומעביר[[ערך אותומוחלט]] לmap(abs) שמועברת לפונקציה map:
<source lang="ocaml">
- funmap squareabs x[0, =~1, x*x2, ~3];
val squareit = fn[0,1,2,3] : int -> intlist
- map square [1,2,3];
val it = [1,4,9] : int list
</source>
* filter, המקבלת פונקציה p (המחזירה true/false) ורשימה, ומחזירה רשימה ללא האיברים עבורן הפונקציה p החזירה false. דוגמה בשפת ML: