DEV Community

loading...

หัด Erlang and Elixir v0.3.0 - atom

Thanabodee Charoenpiriyakij
I'm just a noob programmer. Mostly focusing on game programming and functional programming.
・1 min read

atom ใน Erlang ขึ้นด้วยด้วยอักษรตัวเล็ก หรือใช้ ' ครอบ text เอา

6> centimeter.
centimeter
7> 'Centimeter'.
'Centimeter'
8> 'Centi meter'.
'Centi meter'

ส่วนของ Elixir ใช้ : นำหน้าหรือขึ้นต้นด้วยตัวอักษรตัวใหญ่ ถ้าอยากจะใช้ ' แบบ Erlang ให้เติม : เข้าไป

iex(1)> :centimeter
:centimeter
iex(2)> :'Centimeter'
:Centimeter
iex(3)> :'Centi meter'
:"Centi meter"
iex(13)> This_is_greeting
This_is_greeting

ทั้งสองภาษามี function is_atom เพื่อเอาไว้ตรวจสอบว่า value นั้นเป็น atom หรือไม่

9> is_atom(centimeter).
true
10> is_atom('Centimeter').
true
11> is_atom('Centi meter').
true
iex(4)> is_atom(:centimeter)
true
iex(5)> is_atom(:'Centimeter')
true
iex(6)> is_atom(:'Centi meter')
true
iex(15)> is_atom(This_is_greeting)
true

boolean ของทั้งสองภาษาก็เป็น atom เช่นเดียวกัน

12> is_atom(true).
true
13> is_atom(false).
true
iex(7)> is_atom(true)
true
iex(8)> is_atom(false)
true

NOTE: ที่เราเห็น true/false ใน Elixir ใน atom นั้นสาเหตุเพราะ compiler จะแปลง true/false ให้กลายเป็น :true กับ :false ที่เราใช้ตัวอักษรตัวใหญ่เคสนั้นก็น่าจะทำนองเดียวกัน

Module ใน Elixir และ Erlang เองก็เป็น atom เหมือนกันนะ

14> is_atom(lists). %% module lists
true
iex(1)> is_atom(List) ## module List
true

NOTE: ในเคสของ Elixir จะแปลงไปเป็น :'Elixir.List ให้เองโดย compiler

Discussion (0)