Programação Funcional Intermediária com purrr
Colin Fay
Data Scientist & R Hacker at ThinkR
"Para entender computações em R, dois lemas ajudam:
- Tudo que existe é um objeto.
- Tudo que acontece é uma chamada de função." -John Chambers
class(`+`)
"function"
class(`<-`)
"function"
Funções podem ser
manipuladas
guardadas em uma variável
lambda
guardadas em uma lista
argumentos de uma função
retornadas por uma função
Em uma função pura:
a saída depende só da entrada
sem "efeitos colaterais"
# Saída depende apenas das entradas
# Sem efeito colateral
sum(1:10)
55
mean(1:100)
50.5
Funções impuras:
Dependem do ambiente
Têm "efeitos colaterais"
# Saída depende do ambiente
Sys.Date()
"2018-10-04"
# Apenas efeito colateral
write.csv(iris, "iris.csv")
Programação Funcional Intermediária com purrr