Elixir note
Module
-
Bắt đầu bằng chữ in hoa và dạng CamelCase
-
Chứa các function, các function phải viết trong một module.
-
Có thể viết dạng
Module.Part.One
. Chỉ là syntactic sugar.
defmodule Bot.Chat do
def hello do
IO.puts "Hi there"
end
end
Bot.Chat.hello()
Function
-
Phải viết trong một module
-
Giá trị return là dòng cuối, không giống như Python phải
return something
-
Tên function viết thường, vi_du_nhu_the_nay
-
?
trả về true hoặc false,!
ám chỉ function có thể raise runtime error -
def
vàdefmodule
là các macro, ko phải keyword
defmodule MyTool.Math do
def sum(a, b) do
a + b
end
def multiply(a, b), do: a * b
def sub(a, b \\ 0) do
a - b
end
end
- Dùng
|>
(pipeline), kết quả trả về được đưa vào args đầu tiên của function đằng sau
prev() |> next(arg1, arg2) == next(prev(), arg1, arg2)
- Arity là số args …