Rozpoznawanie czystych funkcji
Czysta funkcja spełnia dwa warunki:
- Jej wynik zależy wyłącznie od argumentów wejściowych – dla tych samych danych wejściowych zawsze zwraca ten sam wynik.
- Nie ma efektów ubocznych, tzn. nie wpływa na nic poza samą funkcją.
Wiele funkcji w R nie jest czystych, a mimo to są niezbędne w codziennej pracy: podczas analizy trzeba pobierać pliki, tworzyć wykresy, zapisywać wyniki…
Pisząc kod, warto dążyć do tego, żeby funkcje były albo jak najbardziej czyste, albo jak najbardziej „nieczyste" (na przykład funkcja pobierająca plik powinna robić tylko to i nic więcej). Żeby jednak to osiągnąć, musisz najpierw umieć odróżnić czystą funkcję od nieczystej.
Właśnie to zrobimy w tym ćwiczeniu: uruchomimy kilka funkcji – czystych i nieczystych – i zobaczymy, jakie zwracają wyniki.
To ćwiczenie jest częścią kursu
Funkcyjne programowanie średnio zaawansowane z purrr
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()