あけましておめでとうございます。
Elixir v1.2.0 がリリースされましたね。
主な特徴
Erlang/OTP 18 support
- v1.2.0 から Erlang/OTP 18 が必須に
- Erlang/OTP 18 で導入された数多くの機能をサポート
- Map に大量のキー・バリューを格納することが可能になった(よって、Dict、HashDict、Set、HashSetは将来廃止する予定)
- コンパイル時間の短縮、などなど
Language improvements
数々の言語の改良。特に重要な4つの改良点を紹介
- 複数の aliases/imports/require
- マップのキー部分での変数の使用
- マップのキー部分でピン演算子をサポート
-
with
スペシャルフォーム
Getting started experience
- よくあるハマりどころでコンパイラーが警告を出すようになった
-
i/1
ヘルパーの導入
Workflow improvements
アンブレラ・アプリケーションでビルドファイルと設定ファイルの共有が可能に
Rebar 3 support
Mix が Rebar 3 ベースのライブラリーの依存関係を解決できるようになった
詳しい翻訳、紹介記事など
チェンジログの翻訳
変更点について詳しくは、@niku さんによる、こちらの翻訳を参照してください。
with について
with
スペシャルフォームについては、@HirofumiTamori さんが、翻訳記事を書かれてます。
i/1 ヘルパーについて
i/1
ヘルパーについては、@hayabusa333 さんによる、こちらの記事を参照のこと。
Elixir v1.2.0 のドキュメント「Writing Documentation」の翻訳
iex の日本語ヘルプ
@k1complete さんが開発された iex の日本語ヘルプ「l10n_elixir」の、コミットログ によると、v1.2.0(rc0)の変更が取り込まれているようです。
l10n_elixirの紹介
日本語翻訳が必要なエントリーは、まだまだ残っているようです。みなさん、ぜひ翻訳に参加して、PR(Pull Request)を送ってください。
その他(Change Logより)
チェンジログには、たくさんの重要そうな変更が載っていますが、とりあえず Qiita で詳しく説明されている以下の2つをピックアップしました。
:random から :rand モジュールへ変更
[Enum] Use the faster and auto-seeding
:rand
instead of:random
inEnum.shuffle/1
andEnum.random/1
andEnum.take_random/2
Enum.shuffle/1
、Enum.random/1
、Enum.take_random/2
で従来の :random
モジュールから、シードが自動的に設定され、より高速な :rand
モジュールを使うように変更されました。
「より高速な」は正しくないかな。Erlang/OTP の :rand
モジュールには、もっと他に重要な特徴があります。詳しくはこちらを参照してください。
新しい時刻関連 API のサポート
[System] Add
System.time_offset
,System.monotonic_time
,System.system_time
,System.convert_time_unit
andSystem.unique_integer
詳しくはこちら。(注意: Elixir v1.1.1 ベースの記事です):