こんにちは!
プログラミング未経験文系出身、Elixirの国に迷い込んだ?!見習いアルケミストのaliceと申します。
今回はpiyopiyo.ex #18で輪読会を開催して学んだElixirの基礎をまとめます。
目次
1.「piyopiyo.ex #18&19:プログラミングElixir輪読会」でElixirの基礎を学んだ①(本記事)
2.「piyopiyo.ex #18&19:プログラミングElixir輪読会」でElixirの基礎を学んだ②
「piyopiyo.ex #18&19:プログラミングElixir輪読会」を開催しました
私はLivebookを使用してのライブコーディングを担当していましたが、途中から皆様参加のモブプラミングになりましたw
活発な交流がなされるわちゃわちゃ感が楽しかったです。
こんな内容を学びました
4.2 値型
正規表現とその操作をする関数を学びました
Regex.run(~r{[aiueo]}, "catapillar")
["a"]
Regex.scan(~r{[aiueo]}, "catapillar")
[["a"], ["a"], ["i"], ["a"]]
4.4 コレクション型
タプルの要素を変数にバインド
{status, count, action} = {:ok, 42, "next"}
{:ok, 42, "next"}
リストの要素は実はタプル
[1, fred: 1, dave: 2] == [1, {:fred, 1}, {:dave, 2}]
true
タプルの要素は実はリストで囲われている
{1, fred: 1, dave: 2} == {1, [fred: 1, dave: 2]}
true
4.5 マップ
マップを定義して変数にバインド
words = %{"a" => "apple", "b" => "bubble", "c" => "cat"}
%{"a" => "apple", "b" => "bubble", "c" => "cat"}
words["a"]
"apple"
上記と同じ流れで、実務ではこんな感じでエラーハンドリングすると学びました。
(キーがタプル、値がアトムに変わっただけ)
responses = %{{:error, :enoent} => :fatal, {:error, :busy} => :retry}
%{{:error, :busy} => :retry, {:error, :enoent} => :fatal}
responses[{:error, :busy}]
:retry
この日は4章の途中で時間切れになってしまったので、次回に持ち越しになりました。
~Elixirの国のご案内~
↓Elixirって何ぞや?と思ったらこちらもどぞ。Elixirは先端のアレコレをだいたい全部できちゃいます
↓ゼロからElixirを始めるなら「エリクサーチ」がおすすめ!私もエンジニア未経験から学習中です。
↓We Are The Alchemists, my friends!1
Elixirコミュニティは本当に優しくて温かい人たちばかり!
私が挫折せずにいられるのもこの恵まれた環境のおかげです。
まずは気軽にコミュニティを訪れてみてください。2
-
@torifukukaiouさんのAwesomeな名言をお借りしました。Elixirコミュニティを一言で表すと、これに尽きます。
↩ -
@nako_sleep_9hさんの素敵なスライドをお借りしました。Elixirコミュニティはいろんな形で活動中! ↩