Elixirは動的な関数型のプログラミング言語です。拡張性が高く、メンテナンスしやすいアプリケーションが開発できます。Erlangの仮想マシン (BEAM) 上で動き、分散システム、耐障害性、ソフトリアルタイムシステムなどの機能が備わっています。本稿はElixir公式サイトの許諾を得て「Introduction」の解説にもとづき、まずはElixirのコードを書いて試してみます。
Elixirのインストール
Elixirのインストールについては、公式サイトの「Installing Elixir」にプラットフォームごとに説明されています。英語ですが、いずれも作業は数行のステップです。
インタラクティブモードで試す
Elixirはコマンドラインツールでインタラクティブに試せます。起ち上げのコマンドはiex
(Interactive Elixirの意)です。つぎのような表示になるでしょう(細かいところは環境によって異なります)。Elixirのインタラクティブモードを抜けるには、[Ctrl]/[control] + [C]のキーを2回押してください。
Erlang/OTP 20 [erts-9.3.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Interactive Elixir (1.6.5) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>
四則演算は他の言語と変わりません。iex
では結果がつぎの行に示されます。
iex(1)> (1 + 2) / 3 + 4 * 5
21.0
文字列はダブルクォーテーション("
)でかこみ、つなぐときは演算子<>
を用います(ies
の表示のあとのかっこ内()の数字はカウントアップされます)。
iex(2)> "hello" <> " " <> "world"
"hello world"
ファイルに書いたコードを動かす
コードをテキストファイルに書いて動かすこともできます。何行かのプログラムを書いていろいろ試したいときは、こちらの方が便利でしょう。ただし、結果を見るにはIO.puts
関数で出力しなければなりません。たとえば、つぎのElixirのコードをファイルsample.exsとして保存します。
IO.puts "hello" <> " " <> "world"
すると、コマンドラインツール(iex
ではありません)から、つぎのように実行できます。
$ elixir sample.exs
hello world
Elixirについての質問
Elixirについて質問できる場としては、つぎのサイトがあります。いずれも英語が基本です。それでも、できるだけ簡潔にしたコードを示し、やろうとしたことと意図に沿わない結果あるいはエラーを説明すればよいでしょう。なお、環境の情報は忘れずに添えてください。
- Elixir Forum
- StackOverflow (elixir)
Elixir入門もくじ
- Elixir入門 01: コードを書いて試してみる
- Elixir入門 02: 型の基本
- Elixir入門 03: 演算子の基本
- Elixir入門 04: パターンマッチング
- Elixir入門 05: 条件 - case/cond/if
- Elixir入門 06: バイナリと文字列および文字リスト
- Elixir入門 07: キーワードリストとマップ
- Elixir入門 08: モジュールと関数
- Elixir入門 09: 再帰
- Elixir入門 10: EnumとStream
- Elixir入門 11: プロセス
- Elixir入門 12: 入出力とファイルシステム
- Elixir入門 13: aliasとrequireおよびimport
- Elixir入門 14: モジュールの属性
- Elixir入門 15: 構造体
- Elixir入門 16: プロトコル
- Elixir入門 17: 内包表記
- Elixir入門 18: シギル
- Elixir入門 19: tryとcatchおよびrescue
- Elixir入門 20: 型の仕様とビヘイビア
- Elixir入門 21: デバッグ
- Elixir入門 22: Erlangライブラリ
- Elixir入門 23: つぎのステップ
Top comments (0)