【Crystal】Macroについて

 【Crystal】Macroについて

東京 Crystal 勉強会 #6 in 渋谷
https://crystal.connpass.com/event/90745/

イベント資料です。

3d1621a44968b7b2f7cf8907b3a3645b?s=128

at_grandpa

June 21, 2018
Tweet

Transcript

  1. 8.
  2. 10.
  3. 18.
  4. 19.
  5. 20.
  6. 39.
  7. 45.

    ・lambda を生成  - 引数は対象のメソッドと同じ  - メソッドの中身は Crystal::Macros::Def#body で得る ・lambda を即座に

    call する
  - 渡す引数は args の名前を羅列  - *(m.args) は型情報も含まれてしまうので、ここでは名前だけ展開 ・return_value に格納
  8. 58.

    https://github.com/at-grandpa/clim ✔ ruby の thor 風 syntax ✔ オプションの型指定
 ✔

    default / required
 ✔ サブコマンド
 ✔ カスタムヘルプ
  9. 59.
  10. 60.
  11. 61.
  12. 63.
  13. 83.

    begin ~ end を使う begin ~ end で囲めば、 ひとつのMacroとして扱われる →

    展開後のコードは正しい ※ 実は {% begin %} は {% if true %} のシンタックスシュガーです
  14. 84.