Bắt đầu ngayBắt đầu miễn phí

Nhận diện hàm thuần (pure functions)

Một hàm thuần thỏa hai tính chất:

  • Đầu ra chỉ phụ thuộc vào đầu vào: cùng một đầu vào thì luôn cho cùng một đầu ra.
  • Không có tác dụng phụ (side-effect), tức là không gây ra hiệu ứng nào bên ngoài hàm.

Rất nhiều hàm trong R không phải là hàm thuần, nhưng chúng lại cực kỳ quan trọng cho việc sử dụng R hằng ngày: khi phân tích, bạn cần tải tệp, vẽ biểu đồ, lưu kết quả…

Khi lập trình, bạn nên hướng tới việc thiết kế hàm hoặc thuần nhất có thể, hoặc "không thuần" một cách rõ ràng (ví dụ, một hàm tải tệp thì chỉ nên làm mỗi việc tải tệp đó). Nhưng để làm được vậy, trước hết bạn cần biết phân biệt hàm thuần và hàm không thuần.

Đó chính là mục tiêu của bài tập này: chạy các hàm thuần và không thuần, rồi quan sát đầu ra của chúng.

Bài tập này là một phần của khóa học

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

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()
Chỉnh sửa và Chạy Mã