Elixir で Hello, World!
2022/11/29
Elixir も触っておきたいなと思ったので、取り急ぎの Hello, World! をやってみた
インストール
Mac は HomeBrew でインストールすることができる
$ brew install elixir$ elixir --version
Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit:ns] [dtrace]
Elixir 1.14.2 (compiled with Erlang/OTP 25)他のインストール方法は https://elixir-lang.org/install.html を参照
インタラクティブモード
いわゆる REPL
$ iex
Erlang/OTP 25 [erts-13.1.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit:ns] [dtrace]
Interactive Elixir (1.14.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> 1 + 2
3Ctrl + C を2回で終了できる
スクリプトモードで Hello, World!
拡張子 exs でファイルを作って、elixir ファイル名 で実行
hello.exs
defmodule Hello do
def greet do
IO.puts "Hello, World!"
end
end$ elixir hello.exs
Hello, World!コンパイルして Hello, World!
拡張子 ex でファイルを作って、elixirc ファイル名 でコンパイル
hello.ex
defmodule Hello do
def greet do
IO.puts "Hello, World!"
end
end$ elixirc hello.ex
Hello, World!コンパイル時でもプログラムが実行されて、「Hello, World!」が出力された
$ ls
Elixir.Hello.beam hello.exコンパイルすると Elixir.Hello.beam というファイルが生成された
コンパイルされたファイルは、elixir -e モジュール名.関数名 で実行することができる
$ elixir -e Hello.greet
Hello, World!補足
拡張子の ex, exs は、コード(ファイル)をどの目的で書いたかの意思表示をするもので、何か違いがあるわけではない
拡張子 ex でスクリプトモードが実行できるし、拡張子 exs でもコンパイルできる
$ elixir hello.ex
Hello, World!$ elixirc hello.exs
Hello, World!