Saf fonksiyonları belirleme
Bir saf fonksiyon iki özelliği sağlar:
- Çıktısı yalnızca girdilerine bağlıdır: bir değeri girdiğinde, çıktı her zaman aynıdır.
- Yan etkisi yoktur, yani fonksiyonun dışındaki hiçbir şeyi etkilemez.
R'deki birçok fonksiyon saf değildir, yine de R'yi günlük kullanmak için hayati öneme sahiptir: bir analiz yaparken dosya indirmen, bir grafik oluşturman, sonuçları kaydetmen gerekir…
Programlama yaparken, fonksiyonlarını ya olabildiğince saf ya da olabildiğince saf olmayan hâle getirmeyi hedeflemelisin (örneğin, bir dosya indiren bir fonksiyon yalnızca bu dosyayı indirmelidir). Ama bunun için önce saf bir fonksiyonu saf olmayan bir fonksiyondan ayırt edebiliyor olman gerekir.
Bu egzersizde bunu yapacağız: saf ya da saf olmayan fonksiyonları çalıştırıp çıktılarının ne olduğuna bakacağız.
Bu egzersiz, kursun bir parçasıdır
purrr ile Orta Düzey Fonksiyonel Programlama
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()