LoginSignup
6
3

More than 3 years have passed since last update.

Elixirに入門してみる

Last updated at Posted at 2019-09-27

概要

技術書展7 にて Elixir に関する書籍を入手したため、入門してみました。
尚、書籍内では MacOS, Linux が推奨されておりますが、折角なので Windows環境 で実践してみました。

参考

以下、参考にさせていただきました。
「PhoenixLiveView と Nerves をさわる Elixir へのいざない」
https://techbookfest.org/event/tbf07/circle/5173194898014208

環境

概要

Chocolaty で Elixir をインストールしてみたところ、mixコマンド実行時にエラーが発生しました。
エラーの内容を確認してみると、erl.exe の参照が 実際のインストールパスである Program Files でなく Program Files (x86) となっておりました。

image.png

Program Files に シンボリックリンク を設定することでコマンド自体は通るようになりました。
ですが、現時点 (2019年9月) では素直に 公式サイトのWindowsインストーラ を利用した方が良いかと思います。

プロジェクトの作成は 下記コマンドで実行します。

mix new sample

作成後、IntelliJ より インポートを行います。予め Elixirプラグイン の導入が必要です。

image.png

参考までに SDK の設定画面を添付します。

image.png

image.png

書籍のチュートリアルに従ってフィボナッチ数列の関数を実装してみました。
関数にもパターンマッチングがあるのが、凄いですね。

sample.ex
  def fib(0), do: 0
  def fib(1), do: 1
  def fib(x) when (x >= 2) do
    fib(x-1) + fib(x-2)
  end

関数を呼び出す関数も実装します。
匿名関数は & で省略表記出来るようなので、試してみました。

sample_test.exs
  test "fibonacci number" do
    expect = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
    result = Enum.map(0..10, &(Sample.fib(&1)))
    assert expect === result
  end

続いて、Phonenix のお試しです。
Phonenix のインストールは、下記コマンドで実行します。

mix local.hex
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez

Webプロジェクトの作成は 下記コマンドで実行します。

mix phoenix.new sampleweb --no-ecto

サーバの実行は下記の通り設定することで、IntelliJより起動することが出来ました。

image.png

構築後のサンプルWeb画面になります。

image.png

コードサンプル

サンプルコードを Github にアップしています。
https://github.com/tYoshiyuki/elixir-study

課題

IntelliJ より デバッグ起動 すると起動時にエラーが発生し、ブレークポイントによる動作確認が上手く出来ませんでした。
(※) 別途、調査したいと思います。。。

image.png

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3