Elixir:
סידור קוד לתוך פונקציות
איך לעשות:
בואו ניצור פונקציה פשוטה ב-Elixir שמעלימה את האות הראשונה של מילים:
defmodule StringUtils do
def capitalize_words(sentence) do
sentence
|> String.split()
|> Enum.map(&String.capitalize/1)
|> Enum.join(" ")
end
end
IO.puts StringUtils.capitalize_words("hello elixir world")
פלט:
Hello Elixir World
כאן, ארזנו את היגיון עילוי המילים לתוך פונקציה הנקראת capitalize_words
.
צלילה לעומק
ב-Elixir, ובאקוסיסטם VM של Erlang באופן כללי, פונקציות הן אזרחות ממעלה ראשונה, והן יורשות את הפילוסופיה של פירוק בעיות לחלקים קטנים יותר, ניתנים לניהול ונבדלים. היסטורית, הגישה הפונקציונלית זו שורשיה בחישוב למבדא וב-Lisps, שמקדמים את הפילוסופיה של קוד כנתונים.
חלופות לארגון קוד יכולים להיות שימוש במקרוסים או בתהליכים ב-Elixir למשימות חוזרות או מקבילות, בהתאמה. מבחינה טכנית, פונקציות Elixir יכולות להתמודד עם התאמת דפוסים ולקבל ארגומנטים שונים (שינוי), הנותנים להן גמישות.