Lập trình hàm trong R

Lập trình hàm nâng cao với purrr

Colin Fay

Data Scientist & R Hacker at ThinkR

Về tính toán trong R

"Để hiểu cách tính toán trong R, hai khẩu hiệu sau rất hữu ích:

- Mọi thứ tồn tại đều là một đối tượng.

- Mọi thứ xảy ra đều là một lời gọi hàm."    -John Chambers

class(`+`)
"function"
class(`<-`)
"function"
Lập trình hàm nâng cao với purrr

R như một ngôn ngữ lập trình hàm

Hàm có thể

  • được thao tác

  • được lưu trong biến

  • lambda

 

  • được lưu trong list

  • làm đối số của một hàm

  • được trả về bởi một hàm

Lập trình hàm nâng cao với purrr

Về "hàm thuần khiết"

Trong một hàm thuần khiết:

  • đầu ra chỉ phụ thuộc vào đầu vào

  • không có "tác dụng phụ"

# Output depends only on inputs
# No side effect
sum(1:10)
55
mean(1:100)
50.5
Lập trình hàm nâng cao với purrr

Hàm không thuần khiết vẫn hữu ích

Hàm không thuần khiết:

  • Phụ thuộc vào môi trường

  • Có "tác dụng phụ"

# Outputs depends of environment 
Sys.Date()
"2018-10-04"
# Side effect only
write.csv(iris, "iris.csv")
Lập trình hàm nâng cao với purrr

Đọc thêm về lập trình hàm

Lập trình hàm nâng cao với purrr

Cùng luyện tập nào!

Lập trình hàm nâng cao với purrr

Preparing Video For Download...