概要
wsl(wsl2じゃない)で、elixirやってみた。
タイマーどうすんだ。
練習問題、やってみた。
練習問題
Livebookで時計を作成せよ。
方針
- genserver使う。
- Process.send_after使う。
写真
サンプルコード
defmodule Example do
use GenServer
@ten_seconds 10000
def init(opts) do
Process.send_after(self(), :tick, @ten_seconds)
{:ok, opts}
end
def handle_info(:tick, state) do
time = DateTime.utc_now()
|> DateTime.to_time()
|> Time.to_iso8601()
IO.puts("The time is now: #{time}")
Process.send_after(self(), :tick, @ten_seconds)
{:noreply, state}
end
end
GenServer.start(Example, [])
以上。