「純粋関数」の版間の差分

提供:MonoBook
編集の要約なし
編集の要約なし
7行目: 7行目:
[[関数型言語]]の信者たちは「[[C言語]]の[[グローバル変数]]は散々禁止してきたのに[[オブジェクト指向]]の[[メンバ変数]]はいいのか」などと[[オブジェクト指向言語]]の信者たちを批判している。
[[関数型言語]]の信者たちは「[[C言語]]の[[グローバル変数]]は散々禁止してきたのに[[オブジェクト指向]]の[[メンバ変数]]はいいのか」などと[[オブジェクト指向言語]]の信者たちを批判している。


<br />
[[category:プログラミング]]
[[カテゴリ:プログラミング]]
[[category:関数]]

2026年7月21日 (火) 02:29時点における版

純粋関数とは、入力値は引数だけの関数のことです。基本的にある引数に対して常に同じ戻り値を返します。

C言語でいえば関数内部でグローバル変数を一切使っていないものを指します。C言語の入門書に書いてある「グローバル変数は極力使うな」というやつを実践したものです。

なお、関数内部でファイルデータベース乱数などを利用している場合は、それらも一種の入力であるため、それらを利用した時点で純粋性は失われて一定の戻り値にならない場合があります。

関数型言語の信者たちは「C言語グローバル変数は散々禁止してきたのにオブジェクト指向メンバ変数はいいのか」などとオブジェクト指向言語の信者たちを批判している。