関数の引数の個数に応じて呼び名があるらしいのでまとめる。
nullary function
- 引数の数: 0個
- 零項関数の中には、副作用があるため出力が一定でない性質がある。
- グローバル変数によって変わる。
- 時刻によって変わる。
time()
- 環境によって変わる。
getcwd()
- 和訳: 0変数関数
- カタカナ発音: ナラリー・ファンクション
- 語源: ラテン語 nullus (「無」) + 形容詞語尾 -ary(「…に関する」)
- 別の表現
- 0-ary function
- niladic function (ニラディック・ファンクション)
unary function
- 引数の数: 1個
- 和訳: 1変数関数
- カタカナ発音: アーナリー・ファンクション
- 語源: ラテン語 ūnus (「ひとつ」) + -ary
- 1つの項をとる演算子はunary operator(単項演算子)という。
- 加算子:
$x++
- 論理演算子の否定
!$x
- 単項演算 - Wikipedia
- 加算子:
- 別の表現
- monadic function (モナディック・ファンクション)
binary function
- 引数の数: 2個
- 和訳: 2変数関数
- カタカナ発音: バイナリー・ファンクション
- 語源: ラテン語 bīnārius (「二個からなる」) + -ary
- 2つの項をとる演算子はbinary operator(二項演算子)という。
- 代数演算子の加算:
$x + $y
- ビット演算子のビット積:
$x & $y
- 論理演算子の論理積:
$x && $y
- 型演算子:
$x instanceof Class
- Null合体演算子:
$x ?? $y
- エルビス演算子:
$x ?: $y
- 代数演算子の加算:
- 別の表現
- dyadic function (ダイアディック・ファンクション)
ternary function
- 引数の数: 3個
- 和訳: 3変数関数
- カタカナ発音: ターナリー・ファンクション
- 語源: ラテン語 ternarius (「三個からなる」) + -ary
- 2つの項をとる演算子はternary operator(三項演算子)という。
- 条件演算子:
$x ? $y : $z
- 条件演算子:
- 別の表現
- triadic function (トライアディック・ファンクション)
2つ以上、可変長など
- 2つ以上を総じて: n-ary, multiary, polyadic
- 可変長引数: variable arity, variadic
所感
関数は引数の個数に応じて「unary」「binary」「ternary」などと呼ばれるらしい。Clean Codeによると、オブジェクト指向のメソッドとしては、0項が最も理想的で、4つ以上はよほどの理由がない限り避けるべきらしい。確かに、引数が少ないほうが理解しやすいしテストも容易だ https://t.co/9cnI7re4LA
— ❄️suin (@suin) 2018年8月8日