iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0

Sigil

有些場合我們可能希望有特殊的格式來簡化資料顯示,Elixir 提供了 Sigil
例如內建的 Date sigil,底下是 Date struct

%Date{year: 2025, month: 9, day: 30}

使用 Sigil 之後變成

~D[2025-09-30]

幾個基本的內建 Sigil

String

~s(我們已經有可以用 "雙括號" 的字串,但是如果要在雙括號的字串裡面使用雙括號需要用`\"`來跳脫,如果使用 sigil 的話可以不加)

等於

"我們已經有可以用 \"雙括號\" 的字串,但是如果要在雙括號的字串裡面使用雙括號需要用`\"`來跳脫,如果使用 sigil 的話可以不加"

Wrod list

~w(elixir erlang gleam)
["elixir", "erlang", "gleam"]

Sigil 在後面可以加 modifiers (修飾符)
sigil_w 可以使用 a 來讓裡面的內容變成 atom

~w(elixir erlang gleam)a
[:elixir, :erlang, :gleam]

Date

剛剛講的 Date

date = ~D[2025-09-30]
date.year #=> 2025

Time

Time module 包含了 hour, minute, second, microsecond, calendar

~T[11:00:03.99]

NaiveDateTime

沒有包含時區的日期時間,無法用來計算有日光節約時間這種時區限定的算法

~N[2025-03-22 12:00:00]

UTC DateTime

~U[2025-09-30 20:02:03Z] # Z 表示沒有偏移的 UTC 時間

上一篇
Struct
下一篇
自訂 Sigil
系列文
通勤看手機就可讀懂的 Elixir 語言入門教學17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言