清流elixirトピックelixir-sr.connpass.com第14回目となる清流elixirの勉強会を開催しました今回からは本格的にリモート参加枠を用意した。これが思っていたよりも何倍も難しい。会場のホットな温度感や議論が始まるとリモート参加者にはその現場感を伝えることが出来ない。トライアンドエラーでよりリモート参加者の方に価値ある時間が提供出来るように創意工夫していきたいまた今回は普段より非常にお世話になっている、福岡を拠点に広く活動されているfukuoka.exさんと合同での勉強会を開催しました今回で合同の勉強会は2回目となりました。いつも知識を共有して下さり、感謝しかありません...fukuokaex.connpass.com最近は普段使用している会議室がどこかしらの団体とバッティングしているようで、本当に隔週開催のペースで活動したいものの、中々、上手くいっていない。金曜日に固定で19:30~使える会場を抑えたいが、何かに依存したくないな〜とも思いつつ、頭を悩ませているそれでも清流elixirの名前が着実に広まってきており、多くの方からお声掛けを頂いている。本当にありがたい限りです弱い人でも勉強会は開催できる、参加できるってことを広く伝えていきたい。第14回の勉強会について今回は第13回の勉強会で涙を流すことになったElixirのマクロについて完全に理解するために、この勉強会を開催した書籍プログラミングElixirの第20章をベースにElixirのマクロについて理解を進めていくことにした。全体の流れは私が以前、予習的にまとめた以下の記事を参照して頂ければと思うwww.okb-shelf.work当日も同じようにElixirにおけるASTについてquoteとunquoteについてdefmacroについてmacroを使ってmyifを作るという流れで理解を進めた。人に解説をすることで自分の理解していない粗の部分が分かった。今回は勉強会を通して自身が深く理解をした点について列挙していこうと思う評価される順番がマクロは異なる以前からマクロは遅延評価でっせという話は聞いていたし、何となく理解していた。false)nilこの結果がマクロは即時評価ではなく、遅延評価であることを表している。false)nicenilあ、完全に理解した(何も分かってないさらに評価される順序は異なるマクロが遅延評価であることは分かったが、さらにマクロは細かく評価される時系列が異なるようだ。それを表しているのが以下のマクロ記述。doのブロック外にいるのかがよく理解出来ていなかった。doの外に記述しているのかを理解することが出来た以下の処理の結果を見てみると非常に興味深い。doの内部という順になっており、同じdefmacroの内部であっても時系列が異なることが確認出来た。doの内部に独自のスコープを持っており、お互いに影響を及ぼすことが無く、影響範囲さえ理解していれば安全に使うことが出来るようだ闇の深淵を覗いてしまった...今回の勉強会を通じて、自身のプログラミングの評価順序?のような概念がぶっ壊れたpythonやjsぐらいしかまともにやってきたことがないので、コードは書かれている順に評価されていくものだと思い込んでいたしかし、ながらElixirのマクロでは部分的に先に評価されたり、マクロの中でも評価される順序があったりと、頭がおかしくなりそうだ非常に勉強になった。今回で第12回目の勉強会を開催致しました。日)22歳の新卒エンジニアです。elixirという言語に惹かれています。人より少し自転車を漕ぐのが速めです。無駄なことを覚えるのが得意です。(2)月別アーカイブ広告はてなブログをはじめよう!takamizawa46さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。