Elixirの関数のヘッド
Elixirで「関数のヘッド」という用語があった。
いまいちピンと来なかったので、意味を調べてみた。
関数のヘッドとは?
(p.52)
複数のヘッドを持つ関数があり、そのうち一つは、デフォルトパラメータを持つ。
(p.53)
デフォルトパラメータを含む関数のヘッドだけを、ボディなしで追加して、あとの関数定義では、通常のパラメータを使おう。
- 関数のヘッド
- 関数のボディ
という用語が出てきた。
索引を見たら、関係ありそうな説明があった。
(p.293)
無名関数
無名関数は (head -> return_type) を使って型を指定する。
head では、アリティと、関数パラメータが取りうる型を指定する。
もし分かりやすくしたければ、head には括弧を付けることができる。
Googleで検索してみた。
↓
関数の引数のパターンの部分を「ヘッド」と言うらしい。
If a function with default values has multiple clauses, it is required to create a function head (without an actual body) for declaring defaults:
名前付き関数の場合、関数名と引数の部分を「ヘッド」と呼び、関数本体の部分を「ボディ」と呼んでいた。
上記の例だと、
join(a, b \\ nil, sep \\ " ")
という部分が関数のヘッドになる。
Elixirのコードの各部で、
という名称が付けられていた、というわけだ。
些細なことかもしれないけど、本文中で初出の用語は、注釈があると良い。