Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

Kanazawa.rb meetup #74 に参加しました #kzrb

kzrb.doorkeeper.jp

今回は和室での開催。入り口からして開発合宿感が漂っていました(合宿ではない)。金沢勤労者プラザというところが会場だったのですがインターネットが無いのだけ除けば満足できる施設でしたよ!

ブログ記事を書いた

前日に参加していたJAWS-UG金沢もくもく会の記事を書きました。とりあえず進捗出せた。

www.blogaomu.com

プログラミングElixir 20章

「マクロとコードの評価」というテーマの章でした。

  • 関数が使えるなら、マクロは使ってはならない、という教訓
  • defmacro quote unquote
  • あるモジュールでマクロを定義して、使う側ではそのモジュールを requrie する
  • マクロに渡されたパラメータは評価されない
  • quote に渡されたもの(ブロック)は評価されずに内部表現を返してくれる
  • unquoteしたコードは quote ブロックが実行されてコードが生成されたときに実行される
  • unquote_splicing はリストを展開してくれる
Code.eval_quoted(quote do: [1, 2, unquote([3, 4])])
#=> {[1, 2, [3, 4]], []}
Code.eval_quoted(quote do: [1, 2, unquote_splicing([3, 4])])
#=> {[1, 2, 3, 4], []}

if をマクロで実装してみようという例でしたが、まだしっくり理解できず。練習問題もやりながら理解していきたいですね。。

プログラミングElixir

プログラミングElixir

懇親会

居酒屋 さかなや道場 金沢駅店
〒920-0031 石川県金沢市広岡1-9-25 アクロスキューブ金沢駅西口2F
3,000円(平均)850円(ランチ平均)
r.gnavi.co.jp

retty.me

2件目は安くて程よく雑な雰囲気で穴場開拓した感がありましたね。「本日の男汁」というメニューがあったのが印象的でした。