カフェでプログラミングしてる風（でも何もやってない）Elixir コード

# はじめに
- [Elixir](https://elixir-lang.org/)楽しんでいますか:bangbang::bangbang::bangbang:
- @3S_Laboo さんの[カフェでプログラミングしてる風（でも何もやってない）Java（クソ）コード](https://qiita.com/3S_Laboo/items/660883a0184dabaea65b)を拝見しまして、私はぜひ[Elixir](https://elixir-lang.org/)でやってみようとおもいました
- 2021/03/05(金) 23:59〜開催の[autoracex #14](https://autoracex.connpass.com/event/206776/)の成果です
    - 絶賛開催中
    - 終了 2021/03/07(日) 23:59 まで

# 準備
- なにごとにも準備が必要です
- 手前味噌で恐縮ですが、[インストール](https://qiita.com/torifukukaiou/items/d04d0273749c41eb50af#0-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)などをご参照ください

# プロジェクトの作成

```
$ mix new dung
```

_dung means that solid waste from animals, especially from large ones_
<font color="purple">$\huge{💩}$</font>

# ソースコードを書きます

```elixir:lib/dung.ex
defmodule Dung do
  def status_change do
    Enum.each(1..50, fn _ ->
      random_sleep(10, 100)
      IO.write("#")
    end)

    IO.write(" ")
    IO.puts("done!")

    status_change()
  end

  def compiler do
    Enum.map(1..50, fn _ ->
      Enum.random(0..9)
    end)
    |> Enum.map(&Integer.to_string/1)
    |> Enum.join()
    |> IO.puts()

    random_sleep(100, 500)

    compiler()
  end

  defp random_sleep(min, max) do
    :rand.uniform()
    |> Kernel.*(10)
    |> random_sleep(min, max)
  end

  defp random_sleep(osooso, _, max) when 4 < osooso and osooso <= 6 do
    Process.sleep(max)
  end

  defp random_sleep(_, min, _) do
    Process.sleep(min)
  end
end
```

- 解説にはおよびますまい、しますまい
- <font color="purple">$\huge{感じてください}$</font>
    - 君はコスモ(小宇宙)を感じたことがあるか :star: 

# Run

```
$ iex -S mix
iex> Dung.status_change
```

```
$ iex -S mix
iex> Dung.compiler
```

- 実行を止めるときはそれぞれのターミナルで`Ctl + c`をそれぞれ2回ずつ押してつかあーさい

![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/4b94399e-f21e-516e-8cdc-e3837aaa005b.gif)

# Wrapping Up :lgtm::lgtm::lgtm::lgtm::lgtm:
- みなさんもお好きな言語でぜひ書いてみて実行してみてください
- 私だけの感じ方かもしれませんが、不思議と本当になにかをやっているような気が自分自身でもしてきました
    - <font color="purple">$\huge{いやぁ、}$</font>
    - <font color="purple">$\huge{プログラミングって本当にいいもんですね～}$</font>[^1]
- Enjoy [Elixir](https://elixir-lang.org/) :bangbang::bangbang::bangbang:

[^1]: 水野晴郎さんの[解説](https://www.youtube.com/watch?v=TsYL6oN8SXs)からの着想

# 最後の最後に
## [Elixir](https://elixir-lang.org/)ってなによ？ という方へ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/601aeb87-9d1d-6a9d-b30b-338507dc593e.png)

- :point_up::point_up_tone1::point_up_tone2::point_up_tone3::point_up_tone4::point_up_tone5: 2020/12/26時点くらいのスクリーンショット
- [Elixir](https://elixir-lang.org/)についてもっと知りたい方は下記の本:books:をオススメします
    - [プログラミングElixir（第2版）](https://www.ohmsha.co.jp/book/9784274226373/)
    - [Elixir実践ガイド](https://book.impress.co.jp/books/1120101021)
- [elixir.jp Slack](https://join.slack.com/t/elixirjp/shared_invite/zt-ae8m5bad-WW69GH1w4iuafm1tKNgd~w)の`#autoracex`というところに私は入り浸っておりますのでお気軽にお声がけください
- [勉強会が頻繁に行われています](https://twitter.com/piacere_ex/status/1364109880362115078)
    - 私がよく参加している勉強会です
    - [autoracex](https://autoracex.connpass.com/) 【毎週月曜】 主催
    - [Sapporo.beam](https://sapporo-beam.connpass.com)　　【毎週水曜】
    - [OkazaKirin.beam](https://okazakirin-beam.connpass.com)　【毎週木曜】
    - [fukuoka.ex／kokura.ex](https://fukuokaex.connpass.com)　【毎月2～3回】
    - [NervesJP](https://nerves-jp.connpass.com/) 　【毎月1回】

![EsvA7uQU0AEoTuX.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131808/2ad87109-2684-1605-e1dc-457b835b8c15.jpeg)

(@piacerex さん作 :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5:)