More Related Content
Similar to Tokyoex6 EEx (20)
More from Tsunenori Oohara
More from Tsunenori Oohara (16)
Tokyoex6 EEx
- 3. 自己紹介
• おーはら@ohrdev
– 基盤技術部@ドリコム
• 仕事/技術スタック
– 広告サービスのお世話
– 全社基盤システムのお世話
– Elixir/Erlang/Ruby/LFE/Lisp/etc…
• コミュニティ
– ElixirMeetUp、tokyo.ex、VR.tokyo
– tokyo.erl(予定、10月前半頃に告知します)
- 6. EExとは
• Embedded Elixir (EEx)
• 文字列、テンプレートにElixirのコードを評価し
て埋め込む処理を提供するモジュール
• Elixirにデフォルトでバンドル
– https://github.com/elixir-
lang/elixir/tree/master/lib/eex
- 7. EExの構成
• 主要API
– eval_string, eval_file
• 入力データと文字列/ファイルを直接評価して文字列を
出力、実行毎にcompile/evalするので遅い
– function_from_string, function_from_file
• 文字列/ファイルから、入力データを引数にして文字列
を出力する関数を定義するマクロ
– compile_string, compile_file
• 上2つのAPIの内部で使用される、文字列/ファイルを
ElixirのASTにコンパイルする
- 16. ASTとは
• Abstract Syntax Tree
• Elixirの式の内部表現、以下のタプルで表す
– { :関数名, メタデータ, 引数 }
– ex) 1 + 1 #=> {:+, [metadatas], [1, 1]}
• quote でASTを確認できる