Elixir
Elixir は Erlang VM 上で動くので、Erlang をインストールしてから、Elixir をインストールする。
以下の手順では Erlang から入れてますが、brew install elixir だけでも勝手に Erlang もインストールしてくれました。
Erlang のインストール
version R16B02 をインストールした
$ brew install erlang
$ erl
Erlang R16B02 (erts-5.10.3) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.3 (abort with ^G)
Hello World までやろうと思ったけど、少し敷居が高かった。
Elixir のインストール
version v0.11.2 をインストールした
$ brew install elixir
$ iex
Erlang R16B02 (erts-5.10.3) [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Interactive Elixir (0.11.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> IO.puts "Hello World"
Hello World
:ok
Elixir のアップデート
$ brew update
$ brew unlink elixir
$ brew install elixir
v0.11.2 から v0.13.2 へアップデートするときにエラーが起きた
上記の手順でアップデートしたが以下のエラーが出た
$ brew install elixir
elixir: Erlang 17 is required to install.
You can install this with:
brew install erlang --devel
Or you can use an official installer from:
http://www.erlang.org/
Error: An unsatisfied requirement failed this build.
メッセージにしたがって erlang を --devel 指定で入れて elixir も入れたらアップデートできた。
$ brew install erlang --devel
$ brew install elixir
First Impression
string interpolation が使える。いいね!
iex> x = "World"
"Hello #{x}"
型のことなるもの同士を比較できる。次の順番通りらしいけど、どういうときにメリットがあるのだろう?number < atom < reference < functions < port < pid < tuple < list < bitstring
iex> 1 < :atom
true
あと、これ書いてて気づいたけど、Qiita の Markdown パーサが Elixir サポートしているのもすごい。しかも iex もサポートしているとか。