Elixir:
Sắp xếp mã thành các hàm
Làm thế nào:
Hãy cùng tạo một hàm Elixir đơn giản để viết hoa các từ:
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")
Kết quả:
Hello Elixir World
Ở đây, chúng ta đã gói gọn logic viết hoa từ vào một hàm được gọi là capitalize_words
.
Sâu hơn nữa
Trong Elixir, và hệ sinh thái Erlang VM rộng lớn hơn, hàm được xem là công dân hạng nhất, kế thừa triết lý phân chia vấn đề thành các phần nhỏ, dễ quản lý và tách biệt. Lịch sử, cách tiếp cận chức năng này có gốc rễ trong lambda calculus và Lisps, thúc đẩy triết lý coi code như dữ liệu.
Các phương án để tổ chức code có thể sử dụng macros hoặc processes trong Elixir cho các tác vụ lặp lại hoặc đồng thời, tương ứng. Về mặt thực hiện, các hàm Elixir có thể xử lý pattern matching và nhận các đối số khác nhau (arity), cho chúng sự linh hoạt.