इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr
Colin Fay
Data Scientist & R Hacker at ThinkR
"R में computation समझने के लिए दो सूत्र मददगार हैं:
- जो भी मौजूद है, वह एक object है.
- जो भी होता है, वह एक function call है." -John Chambers
class(`+`)
"function"
class(`<-`)
"function"
Functions कर सकते हैं
manipulate होना
किसी वैरिएबल में स्टोर होना
lambda होना
किसी list में स्टोर होना
किसी function के arguments होना
किसी function द्वारा return होना
एक pure function में:
output सिर्फ input पर निर्भर होता है
कोई "side-effect" नहीं होता
# Output depends only on inputs
# No side effect
sum(1:10)
55
mean(1:100)
50.5
Impure functions:
environment पर निर्भर
"side-effects" होते हैं
# Outputs depends of environment
Sys.Date()
"2018-10-04"
# Side effect only
write.csv(iris, "iris.csv")
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr