👌

ElixirでHello World

2023/06/14に公開

はじめに

ElixirでインストールからHello Worldを出すまでをやってみます。

環境

  • macOS Ventura

インストール

サイトをみるといくつかやり方が書いてありますが、
macOSを使っているので、Homebrewを使ってインストールをします。

$ brew install elixir

インストールが終わったら、elixir --versionを実行してみます。

$ elixir --version
Erlang/OTP 25 [erts-13.2.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] [dtrace]

Elixir 1.14.5 (compiled with Erlang/OTP 25)

これを書いている時点では、1.14.5が最新バージョンのようです。
※2023/06/13時点

Hello Worldを出してみる

iex, elixir, elixircの3つのコマンドを使って、Hello Worldを出してみます。

iexコマンド

iexコマンドを実行して、インタラクティヴ・モードを起動し、IOモジュールを使って標準出力してみます。

$ iex
Erlang/OTP 25 [erts-13.2.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit] [dtrace]

Interactive Elixir (1.14.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> IO.puts "Hello world"
Hello world
:ok
iex(2)> 

elixirコマンド

任意の場所にhello_world.exsを作成し、次の内容を書きます。
(スクリプトで実行する場合は拡張子をexsにするようです)

IO.puts "Hello world"

elixirコマンドを使って実行します。

$ elixir hello_world.exs 
Hello world

elixircコマンド

任意の場所にhello_world.exを作成し、次の内容を書きます。
(コンパイルする場合は拡張子をexにするようです)

defmodule Hello do
    def world do
        IO.puts "Hello world"
    end
end

elixircコマンドを使って実行すると、Elixir.Hello.beamファイルが作成されます。

$ elixirc hello_world.ex

$ ls 
Elixir.Hello.beam	hello_world.ex

Elixir.Hello.beamは次のようにelixir -e モジュール名.関数名で実行可能です。

$ elixir -e Hello.world
Hello world

Discussion