Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Elixir v1.3で入る(かもな)機能
自己紹介
name = 橘田隼一
|> TwitterID = hayabusa333
|> heart = [カーネル, GC, Erlang, Elixir]
|> jobs = 派遣ウェッブプログラマ
|> position = [Joe...
ElixirとPhoenixの薄い本を出しました(ページ数:240)
電子書籍版をBOOTHで販売中
https://hayabusa333.booth.pm/items/186705
自己紹介(宣伝)
本日のお話
Elixir v1.3で入ってくるであろう機
能(3月19日時点)の一部の機能を紹
介していきます
目次
• Calendar/Date/Time/NaiveDateTime/DateTi
me型の定義の追加
• —logger-otp-reports と —logger-sasl-
reports オプションの追加
• with句にelse...
Calendar/Date/Time/NaiveDateTime
DateTime型の定義の追加
Elixirに上記の型の内部定義について追加
されました。
例:
Calendarのyearはinteger型とか
Calendar/Date/T...
Calendar/Date/Time/NaiveDateTime
DateTime型の定義の追加
今回の型定義が入ることにより
Elixirにて時刻系の型は、ライブラ
リごとに違っていたものが統一さ
れることになるようです
—logger-otp-reports と —logger-sasl-
reports オプションの追加
elixir —logger-otp-reports true
elixir —ligger-sasl-reports true
など、e...
—logger-otp-reports と —logger-sasl-
reports オプションの追加
こちらの修正については、
erl -boot start_sasl で取得できるレ
ポートを出せるようにElixirから
Erlang側の...
with句にelseが追加
with句にて、今までは
with (式), (式), do: (結果判定)
のような形でしたが
with (式), (式), do: (結果判定), else: (結果判定)
のような形での記載ができるようになりま...
Elixir v1.2 例
iex(1)> with {:ok, contents} <- File.read("my_hoge.ex"),
...(1)> {res, binding} <- Code.eval_string(contents...
Elixir v1.3 例
iex(1)> with {:ok, contents} <- File.read("my_hoge.ex"),
...(1)> {res, binding} <- Code.eval_string(contents...
with句にelseが追加
申し訳ありません。正常に動くコードの記載ま
で確認できませんでした。
mix app.tree と mix deps.tree
新規に追加された タスクとして
mix app.tree
mix deps.tree
の2つが追加されました
mix app.tree 実行例
mix deps.tree 実行例
mix escript
mix escript
mix escript.build
mix escript.install
mix escript.uninstall
の4つのタスクが増えています。
mix escript
mix escript.install (PATH/URL)
mix escript.uninstall
は ~/.mix/escript の配下に escriptを保存するよう
になっています
mix escript
mix escript
mix escript.build
にて保存しているescriptから環境を構築すること
が可能となっているようです。
他には
• コンパイル時のモジュールの欠落のエラーメッセージ改善
• File.copy/3 にてIOデバイスのサポート追加
• %module{key: “value”} = struct のような構造体のパターン
マッチが実行できるようにな...
まとめ
Elixir v1.3の更新内容だけでも、け
っこう多い(非推奨機能とかは今日
は話してない)
他の更新内容は、ハードリカーエン
ジニアのブログにて公開しています
ご静聴ありがとうございました
Próxima SlideShare
Cargando en…5
×

Elixir v1.3 で入るかもしれない機能

1.905 visualizaciones

Publicado el

Elixir MeetUp #2 in Drecom にて発表してきたスライドです。

Publicado en: Tecnología
  • すみません・・・Slideshareでのコメントの仕方がわからず改行無し&エスケープされまくりになってしまいました
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • with句のelseについて補足します。こんな要領で使用できます。 iex(76)&gt; v=1; with 1 20; 3 -&gt; 300; _ -&gt; "?") 1 iex(77)&gt; v=2; with 1 20; 3 -&gt; 300; _ -&gt; "?") 20 iex(78)&gt; v=3; with 1 20; 3 -&gt; 300; _ -&gt; "?") 300 iex(79)&gt; v=4; with 1 20; 3 -&gt; 300; _ -&gt; "?") "?"
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Sé el primero en recomendar esto

Elixir v1.3 で入るかもしれない機能

  1. 1. Elixir v1.3で入る(かもな)機能
  2. 2. 自己紹介 name = 橘田隼一 |> TwitterID = hayabusa333 |> heart = [カーネル, GC, Erlang, Elixir] |> jobs = 派遣ウェッブプログラマ |> position = [Joel教, 翔鶴瑞鶴仲良し姉妹同盟]
  3. 3. ElixirとPhoenixの薄い本を出しました(ページ数:240) 電子書籍版をBOOTHで販売中 https://hayabusa333.booth.pm/items/186705 自己紹介(宣伝)
  4. 4. 本日のお話 Elixir v1.3で入ってくるであろう機 能(3月19日時点)の一部の機能を紹 介していきます
  5. 5. 目次 • Calendar/Date/Time/NaiveDateTime/DateTi me型の定義の追加 • —logger-otp-reports と —logger-sasl- reports オプションの追加 • with句にelseが追加 • mix app.tree と mix deps.tree • mix escript
  6. 6. Calendar/Date/Time/NaiveDateTime DateTime型の定義の追加 Elixirに上記の型の内部定義について追加 されました。 例: Calendarのyearはinteger型とか Calendar/Date/Time/NaiveDateTime DateTime型の定義の追加
  7. 7. Calendar/Date/Time/NaiveDateTime DateTime型の定義の追加 今回の型定義が入ることにより Elixirにて時刻系の型は、ライブラ リごとに違っていたものが統一さ れることになるようです
  8. 8. —logger-otp-reports と —logger-sasl- reports オプションの追加 elixir —logger-otp-reports true elixir —ligger-sasl-reports true など、elixirコマンドにオプションと して渡すことにより、OTPやSASL のレポートを出すようになりました
  9. 9. —logger-otp-reports と —logger-sasl- reports オプションの追加 こちらの修正については、 erl -boot start_sasl で取得できるレ ポートを出せるようにElixirから Erlang側の呼び出しのオプション 追加となります
  10. 10. with句にelseが追加 with句にて、今までは with (式), (式), do: (結果判定) のような形でしたが with (式), (式), do: (結果判定), else: (結果判定) のような形での記載ができるようになりました
  11. 11. Elixir v1.2 例 iex(1)> with {:ok, contents} <- File.read("my_hoge.ex"), ...(1)> {res, binding} <- Code.eval_string(contents), ...(1)> do: {:ok, res}, else: {:error, _} ** (CompileError) iex:1: undefined function with/3
  12. 12. Elixir v1.3 例 iex(1)> with {:ok, contents} <- File.read("my_hoge.ex"), ...(1)> {res, binding} <- Code.eval_string(contents), ...(1)> do: {:ok, res}, else: {:error, :enoent} ** (FunctionClauseError) no function clause matching in :elixir_with.expand_else/2 (elixir) src/elixir_with.erl:58: :elixir_with.expand_else({:error, :enoent}, %Macro.Env{aliases: [], context: nil, context_modules: [], export_vars: nil, file: "iex", function: nil, functions: [{IEx.Helpers, [c: 1, c: 2, cd: 1, clear: 0, flush: 0, h: 0, i:
  13. 13. with句にelseが追加 申し訳ありません。正常に動くコードの記載ま で確認できませんでした。
  14. 14. mix app.tree と mix deps.tree 新規に追加された タスクとして mix app.tree mix deps.tree の2つが追加されました
  15. 15. mix app.tree 実行例
  16. 16. mix deps.tree 実行例
  17. 17. mix escript mix escript mix escript.build mix escript.install mix escript.uninstall の4つのタスクが増えています。
  18. 18. mix escript mix escript.install (PATH/URL) mix escript.uninstall は ~/.mix/escript の配下に escriptを保存するよう になっています
  19. 19. mix escript mix escript mix escript.build にて保存しているescriptから環境を構築すること が可能となっているようです。
  20. 20. 他には • コンパイル時のモジュールの欠落のエラーメッセージ改善 • File.copy/3 にてIOデバイスのサポート追加 • %module{key: “value”} = struct のような構造体のパターン マッチが実行できるようになりました。 • Process.sleep/1 のような timeを指定して、プロセスを sleepできるようになりました。 • Unicode 8.0.0へと更新 • テスト毎に属性をクリーンアップできるように ExUnit.Case.register_attribute が追加 • MIX_DEBUG=1が設定されている場合にMix.Errorをスタッ クトレースに表示するようになりました。
  21. 21. まとめ Elixir v1.3の更新内容だけでも、け っこう多い(非推奨機能とかは今日 は話してない) 他の更新内容は、ハードリカーエン ジニアのブログにて公開しています
  22. 22. ご静聴ありがとうございました

×