闘魂Elixir ── 12. Map.get

<b><font color="red">$\huge{元氣ですかーーーーッ！！！}$</font></b>

https://qiita.com/advent-calendar/2022

https://qiita.com/advent-calendar/2022/elixir

# はじめに

闘魂と[Elixir](https://elixir-lang.org/)が出会いました。
闘魂 meets [Elixir](https://elixir-lang.org/).です。
[Elixir](https://elixir-lang.org/) meets 闘魂.でもよいです。

本日は、[Map.get/3](https://hexdocs.pm/elixir/Map.html#get/3)を説明します。

```elixir
iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}
```

# [Map.get/3](https://hexdocs.pm/elixir/Map.html#get/3)

マップから指定されたキーに対応する値を返してくれます。
マップとはキーと値のアレです。はてな？　の方は、「[闘魂Elixir ── 11. Mapモジュール](https://qiita.com/torifukukaiou/items/2421ccca8784e192ebac)」をご覧になってください。


こちらの図[^1]をみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/bf338cc5-2ab4-8a8e-12ba-9896cddacceb.png)






[^1]: 図は、https://excalidraw.com/ を使って作成しています。スゴ腕ハッカーが書いたかのような手書き風の絵が書けるので最近の私のお気に入りツールです。

[IEx](https://hexdocs.pm/iex/IEx.html)で確かめてみましょう。

```:CMD
iex
```

[IEx](https://hexdocs.pm/iex/IEx.html)が立ち上がったら、以下のプログラムを実行してみてください。

```elixir
iex> Map.get(%{a: 1, b: 2}, :a)
1
```

`1`を得られました。

# ワンポイントレッスン

ワンポイントレッスンをします。

## 存在しないキーを指定した場合

存在しないキーを指定した場合には、`nil`が返ってきます。

```elixir
iex> Map.get(%{a: 1, b: 2}, :c)
nil
```

## デフォルト値を指定する。

存在しないキーを指定した場合には、`nil`の代わりにデフォルト値を指定することができます。

```elixir
iex> Map.get(%{a: 1, b: 2}, :c, 0)
0
```




# 今日の<font color="#d00080">闘魂</font>

今日は、『孟子』から言葉を引きます。

---
<ruby>若<rt>も</rt></ruby>し薬<ruby>瞑眩<rt>めんげん</rt></ruby>せずんば<ruby>厥<rt>そ</rt></ruby>の<ruby>疾<rt>やまい</rt></ruby><ruby>瘳<rt>い</rt></ruby>えず（孟子）
---

解説は、[こちら](http://confucianism.blog.jp/archives/1063775339.html)をご参照ください。
猪木さん流に言うと、「毒を呑み込む勇気はあるか？」ということです。

> 毒を飲み込む勇気を持つこと。さらに、その毒を上回る力で受け止めてはじめて、自分にとってさらなるエネルギーとなる。毒に染まらず、毒を制するのだ。

:book:『[アントニオ猪木 最後の闘魂](https://www.amazon.co.jp/dp/4833481057)』:book:から引きました。
みなさまもぜひこの本をお手にとられて、猪木さんが残されたメッセージを通じて、直接猪木さんから「元氣」をもらってください。

https://presidentstore.jp/item/008105.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/be8933f5-e3e2-d5f4-1561-f65f75abdf38.png)




# さいごに

[Map.get/3](https://hexdocs.pm/elixir/Map.html#get/3)を説明しました。

闘魂の意味は、 **「己に打ち克ち、闘いを通じて己の魂を磨いていくことである」** との猪木さんの言葉をそのまま胸に刻み込んでいます。
知っているだけで終わらせることなく、実行する、断行する、一歩を踏み出すことを自らの行動で示していきたいとおもいます。

<font color="red">$\huge{１、２、３ ぁっダー！}$</font>


<iframe width="910" height="512" src="https://www.youtube.com/embed/AWxwmqzbOaw" title="燃える闘魂 アントニオ猪木  追悼VTR" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

https://www.youtube.com/watch?v=FSz7N5hCltw

---

https://qiita.com/torifukukaiou/items/5e96f4e9f12ec3c4b3f4

---

# Twitter

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Elixir Advent Calendar 3の12日目は、毎度お馴染みの <a href="https://twitter.com/torifukukaiou?ref_src=twsrc%5Etfw">@torifukukaiou</a> さんで、Mapモジュールの続き、全ての基本となるMap .getです😌<a href="https://t.co/IbBHdPeyHO">https://t.co/IbBHdPeyHO</a><br><br>地味に知っている人が少なそうな、デフォルト値を指定する方法について解説があるので、アルケミストはキャッチアップしておきましょー😋 <a href="https://t.co/rAmlmtsc98">pic.twitter.com/rAmlmtsc98</a></p>&mdash; piacere (love Elixir, Gravity and VR/AR/Metaverse) (@piacere_ex) <a href="https://twitter.com/piacere_ex/status/1602227303911927808?ref_src=twsrc%5Etfw">December 12, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

---


<b><font color="red">$\huge{元氣があればなんでもできる！}$</font></b>