レッスン: 中級
並行処理、エラー処理、相互運用性などのトピックを紹介する中級レッスンです。
ElixirプロジェクトのためのカスタムMixタスクの作成
Erlang VM (BEAM)の上で開発することによって得られる利点の1つに、既にある大量のライブラリが利用できるという事があげられます。相互運用できることで、そうしたライブラリやErlangの標準ライブラリをElixirコードから 活用することができます。このレッスンではサードパーティのErlangパッケージも併せ、標準ライブラリの関数へアクセスする方法を見ていきます。
{:error, reason}
のようなタプルを返すのが一般的とはいえ、Elixirは例外をサポートしており、このレッスンではエラーハンドリングの方法や利用可能な異なる仕組みについて見ていきます。
一般的に、Elixirでは {:ok, result}
や {:error, reason}
を返す関数(example/1
)を作成する、あるいはラップされていない result
を返すかエラーを発生させる関数(example!/1
)に分離するのが慣習です。
このレッスンでは後者に焦点を当てます
Elixirで実行ファイルをビルドするにはescriptを利用します。escriptはErlangがインストールされているあらゆるシステム上で動作する実行ファイルを生み出します。
Elixirの売りの1つは並行性(コンカレンシー)に対応していることです。 Erlang VM (BEAM)のおかげで、並行処理はElixirでは思ったよりも簡単です。 並行性のモデルはアクターに依存しています。アクターとはメッセージパッシングによって他のプロセスと相互通信を行う、制御されたプロセスのことです。
このレッスンではElixirとともに納められている並行モジュールを見ていきます 続く章では並行モジュールを実装しているOTPの振舞を取り扱います。