DEV Community

gumi TECH for gumi TECH Blog

Posted on

Elixir入門 23: つぎのステップ

本稿はElixir公式サイトの許諾を得て「Where to go next」の解説にもとづき、加筆補正を加えて、Elixirについてのこれからの学習項目をご紹介します。

はじめてのElixirプロジェクト

プロジェクトのひな形を簡単につくるため、ElixirにはMixというビルドツールが入っています。コマンドラインツールからmix newコマンドにプロジェクトのパスを指定するだけで、その名前のひな形に加えて設定やテストのファイルなどがつくられます(図001)。

$ mix new example
* creating README.md
* creating .formatter.exs
* creating .gitignore
* creating mix.exs
* creating config
* creating config/config.exs
* creating lib
* creating lib/example.ex
* creating test
* creating test/test_helper.exs
* creating test/example_test.exs

Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:

    cd example
    mix test

Run "mix help" for more commands.
Enter fullscreen mode Exit fullscreen mode

図001■Mixでつくられたプロジェクトファイル

elixir_23_001.png

Mix and OTP」は、Mixを使ったアプリケーションのつくり方について説明しています。このガイドの日本語解説は「MixとOTP」として、本ブログで連載いたします(「Elixirステップアップのチュートリアルを連載開始(MixとOTPもくじ)」参照)。

メタプログラミング

Elixirはメタプログラミングできるので、拡張やカスタマイズがしやすいプログラミング言語です。Elixirのメタプログラミングには、多くの場合マクロが用いられます。とくに、DSLを書くのにマクロはとても便利です。マクロの基本的な仕組みや書き方、さらにマクロでDSLをどのようにつくるのかについては「Meta-programming in Elixir」をお読みください。

コミュニティとその他の情報源

Learning resources」には、つぎのような書籍やスクリーンキャスト、その他の学習素材が紹介されています。

  1. Books
  2. Video/Interactive Resources
  3. Other Resources
  4. Screencasts
  5. In-depth Resources

また、ElixirのソースコードもGitHubで開いて見られます。おもにlibディレクトリに納められたコードの多くはElixirで書かれたものです。併せて「Documentation」もご参照ください。

Erlangのプログラミング

ElixirはErlangの仮想マシン(VM)の上で動きます。Elixirの開発者は、やがてErlangライブラリのインタフェースが使いたくなるでしょう。以下に掲げるのはErlangの基礎から応用までを解説するオンラインのドキュメントです。

  • Erlang/Elixir Syntax: A Crash Course」: Erlangの構文を簡単に紹介します。コード例にはErlangと併せて、同じ機能のElixirのコードが添えられています。Erlangの文法を知るだけでなく、Elixirのおさらいにもなるでしょう。
  • Concurrent Programming」: Erlang公式サイトのチュートリアルです。Erlangのプリミティブや並列プログラミングについて図入りで手早く学べます。
  • Learn You Some Erlang for Great Good!」: Erlangの紹介から、設計思想、標準ライブラリ、ベストプラクティスなどについての優れた解説です。前出「Erlang/Elixir Syntax: A Crash Course」を読んだあとでしたら、おもに構文について説明しているはじめの数章はとばしてもよいでしょう。「Hitchhiker’s Guide to Concurrency」の章まで読み進めれば、Erlangが楽しくなるはずです。「Learn you some Erlang for great good! 日本語訳」が公開されています。

Elixir入門もくじ

番外

Top comments (0)