SlideShare uma empresa Scribd logo
1 de 22
Elixir v1.3で入る(かもな)機能
自己紹介
name = 橘田隼一
|> TwitterID = hayabusa333
|> heart = [カーネル, GC, Erlang, Elixir]
|> jobs = 派遣ウェッブプログラマ
|> position = [Joel教, 翔鶴瑞鶴仲良し姉妹同盟]
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が追加
• mix app.tree と mix deps.tree
• mix escript
Calendar/Date/Time/NaiveDateTime
DateTime型の定義の追加
Elixirに上記の型の内部定義について追加
されました。
例:
Calendarのyearはinteger型とか
Calendar/Date/Time/NaiveDateTime
DateTime型の定義の追加
Calendar/Date/Time/NaiveDateTime
DateTime型の定義の追加
今回の型定義が入ることにより
Elixirにて時刻系の型は、ライブラ
リごとに違っていたものが統一さ
れることになるようです
—logger-otp-reports と —logger-sasl-
reports オプションの追加
elixir —logger-otp-reports true
elixir —ligger-sasl-reports true
など、elixirコマンドにオプションと
して渡すことにより、OTPやSASL
のレポートを出すようになりました
—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),
...(1)> do: {:ok, res}, else: {:error, _}
** (CompileError) iex:1: undefined function with/3
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:
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 のような構造体のパターン
マッチが実行できるようになりました。
• Process.sleep/1 のような timeを指定して、プロセスを
sleepできるようになりました。
• Unicode 8.0.0へと更新
• テスト毎に属性をクリーンアップできるように
ExUnit.Case.register_attribute が追加
• MIX_DEBUG=1が設定されている場合にMix.Errorをスタッ
クトレースに表示するようになりました。
まとめ
Elixir v1.3の更新内容だけでも、け
っこう多い(非推奨機能とかは今日
は話してない)
他の更新内容は、ハードリカーエン
ジニアのブログにて公開しています
ご静聴ありがとうございました

Mais conteúdo relacionado

Mais de hayabusa333

Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較hayabusa333
 
E言語スタック
E言語スタックE言語スタック
E言語スタックhayabusa333
 
Elixirのhoundを使ってみて
Elixirのhoundを使ってみてElixirのhoundを使ってみて
Elixirのhoundを使ってみてhayabusa333
 
Erlang and Elixir
Erlang and ElixirErlang and Elixir
Erlang and Elixirhayabusa333
 
Getting test world
Getting test worldGetting test world
Getting test worldhayabusa333
 
派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまでhayabusa333
 
現場にsahaginを取り入れた話
現場にsahaginを取り入れた話現場にsahaginを取り入れた話
現場にsahaginを取り入れた話hayabusa333
 
ホワイトボックステスト技法
ホワイトボックステスト技法ホワイトボックステスト技法
ホワイトボックステスト技法hayabusa333
 
ブラックボックステスト技法
ブラックボックステスト技法ブラックボックステスト技法
ブラックボックステスト技法hayabusa333
 
自動化のその前に
自動化のその前に自動化のその前に
自動化のその前にhayabusa333
 
Serverspecの本気をみるのです
Serverspecの本気をみるのですServerspecの本気をみるのです
Serverspecの本気をみるのですhayabusa333
 
Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活hayabusa333
 
Cbで解るjojo up
Cbで解るjojo upCbで解るjojo up
Cbで解るjojo uphayabusa333
 
アイマスで分かるプログラマ
アイマスで分かるプログラマアイマスで分かるプログラマ
アイマスで分かるプログラマhayabusa333
 
漏れのある抽象化の法則
漏れのある抽象化の法則漏れのある抽象化の法則
漏れのある抽象化の法則hayabusa333
 
DevLove2012 懇親会LT
DevLove2012 懇親会LTDevLove2012 懇親会LT
DevLove2012 懇親会LThayabusa333
 
RubyでBLコマンド実装
RubyでBLコマンド実装RubyでBLコマンド実装
RubyでBLコマンド実装hayabusa333
 
Androidについて
AndroidについてAndroidについて
Androidについてhayabusa333
 

Mais de hayabusa333 (20)

Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
 
E言語スタック
E言語スタックE言語スタック
E言語スタック
 
Elixirのhoundを使ってみて
Elixirのhoundを使ってみてElixirのhoundを使ってみて
Elixirのhoundを使ってみて
 
Erlang and Elixir
Erlang and ElixirErlang and Elixir
Erlang and Elixir
 
IEXを学ぶ
IEXを学ぶIEXを学ぶ
IEXを学ぶ
 
Getting test world
Getting test worldGetting test world
Getting test world
 
Cowboyとelixir
CowboyとelixirCowboyとelixir
Cowboyとelixir
 
派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで
 
現場にsahaginを取り入れた話
現場にsahaginを取り入れた話現場にsahaginを取り入れた話
現場にsahaginを取り入れた話
 
ホワイトボックステスト技法
ホワイトボックステスト技法ホワイトボックステスト技法
ホワイトボックステスト技法
 
ブラックボックステスト技法
ブラックボックステスト技法ブラックボックステスト技法
ブラックボックステスト技法
 
自動化のその前に
自動化のその前に自動化のその前に
自動化のその前に
 
Serverspecの本気をみるのです
Serverspecの本気をみるのですServerspecの本気をみるのです
Serverspecの本気をみるのです
 
Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活
 
Cbで解るjojo up
Cbで解るjojo upCbで解るjojo up
Cbで解るjojo up
 
アイマスで分かるプログラマ
アイマスで分かるプログラマアイマスで分かるプログラマ
アイマスで分かるプログラマ
 
漏れのある抽象化の法則
漏れのある抽象化の法則漏れのある抽象化の法則
漏れのある抽象化の法則
 
DevLove2012 懇親会LT
DevLove2012 懇親会LTDevLove2012 懇親会LT
DevLove2012 懇親会LT
 
RubyでBLコマンド実装
RubyでBLコマンド実装RubyでBLコマンド実装
RubyでBLコマンド実装
 
Androidについて
AndroidについてAndroidについて
Androidについて
 

Último

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Último (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

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