Blog of science and life

Contact
Archives
Feed

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

  • defdefmodule 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 của một function. Rất quan trọng vì trong một module có thể def nhiều function tên giống nhau nhưng khác về args nhận vào.
defmodule Foo do
  def add(a) do
    a
  end

  def add(a, b) do
    a + b
  end
end

# Ở đây ta có 2 func: Foo.add …

Ý tưởng mới: Hôm nay tôi tiết kiệm được bao nhiêu?


Ý tưởng mới: Hôm nay tôi tiết kiệm được bao nhiêu?

Chúng ta rất ngại việc phải ghi lại chi tiết từng đồng một họ tiêu pha, vì điều đó làm ta hối hận khi nhìn lại.

Nhưng nếu ta ghi lại những thứ mà ta tiết kiệm được thì sao?

Smart

Ví dụ:

  • Hôm nay tôi muốn ăn gà rán + hamberger, nhưng thay vì đó tôi đã đi ăn cơm ở gần nhà. Thay vì tốn 120k, thì tôi chỉ mất có 30k. Tiết kiệm được 90k và lại còn đỡ béo hơn nhiều.
  • Hôm nay tôi muốn mua một thứ rất ngầu trên mạng. Nhưng thay vì thế tôi ngồi suy nghĩ lại và thấy mình cũng ko có nhu cầu sử dụng nó. Vì thế tôi tiết kiệm được khoảng $50.
  • Hôm nay tôi muốn đi nhậu ghê gớm, nhưng thay vì thế tôi mua 1 chai bia và ít đồ khô về ăn, và tôi tiết kiệm được khoảng $80 cho những cuộc ăn chơi hát hò. Tôi lại còn có thêm thời gian để đọc sách và làm việc nữa.

Và cứ thế, dần rồi sẽ cộng lên, và có thêm cả bảng tính xem với …