純粋関数を見分ける
純粋関数は次の2つの性質を満たします。
- 出力が入力のみに依存する:同じ値を入力すれば、出力は常に同じになります。
- 副作用がない:つまり、関数の外側に影響を与えません。
R の多くの関数は純粋ではありませんが、日々の利用には不可欠です。分析では、ファイルをダウンロードしたり、プロットを作成したり、結果を保存したりする必要があります。
プログラミングでは、関数は可能な限り純粋にするか、逆に必要な副作用に特化して不純にする(たとえば、ファイルをダウンロードする関数はそのダウンロードだけを行う)ことを目指すとよいです。そのためにはまず、純粋な関数と不純な関数を見分けられる必要があります。
この演習では、純粋または不純な関数を実行し、その出力がどうなるかを確認します。
この演習はコースの一部です
purrr で学ぶ中級関数型プログラミング
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()