<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>E_Mattsan</author_name>
  <author_url>https://blog.hatena.ne.jp/E_Mattsan/</author_url>
  <blog_title>ESM アジャイル事業部 開発者ブログ</blog_title>
  <blog_url>https://blog.agile.esm.co.jp/</blog_url>
  <categories>
    <anon>Elixir</anon>
    <anon>メタプログラミング</anon>
  </categories>
  <description>今回の Elixir のお題には、メタプログラミングを選んでみました。 Elixir に限らずメタプログラミングでは、ふだん関数を書くときとは異なるレベルの視点が要求されます。 今回は、関数のように見えるけれど関数でないものをメタプログラミングで表現してみましょう。 例題 例として。 利用者 (User) が、記事 (Article) の読み書き削除の操作を可能かどうか、可否の判定をする仕組みを考えます。 読み書き削除の操作の可否は、次のように定義することにしました。 任意の User は Article を読むことができる User が Article の所有者、もしくはロールが edito…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fblog.agile.esm.co.jp%2Fentry%2Fmetaprogramming-elixir&quot; title=&quot;Elixirメタプログラミングで書く、関数っぽい関数でない何か - ESM アジャイル事業部 開発者ブログ&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url>https://cdn.user.blog.st-hatena.com/default_entry_og_image/118345113/1514250491570739</image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2024-09-09 12:00:00</published>
  <title>Elixirメタプログラミングで書く、関数っぽい関数でない何か</title>
  <type>rich</type>
  <url>https://blog.agile.esm.co.jp/entry/metaprogramming-elixir</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
