เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การระบุ pure function

pure function มีคุณสมบัติสองประการ:

  • ผลลัพธ์ขึ้นอยู่กับ input เท่านั้น กล่าวคือ เมื่อส่งค่าเดิมเข้าไป ผลลัพธ์จะเหมือนเดิมทุกครั้ง
  • ไม่มี side-effect นั่นคือ ไม่มีผลกระทบใดๆ ที่เกิดขึ้นภายนอกฟังก์ชัน

ฟังก์ชันจำนวนมากใน R ไม่ใช่ pure function แต่ก็ยังจำเป็นสำหรับการใช้งาน R ในชีวิตประจำวัน เช่น การดาวน์โหลดไฟล์ การสร้างกราฟ หรือการบันทึกผลลัพธ์

ในการเขียนโปรแกรม ควรพยายามทำให้ฟังก์ชันของคุณเป็น pure ให้มากที่สุด หรือไม่ก็เป็น impure อย่างชัดเจน (เช่น ฟังก์ชันที่ดาวน์โหลดไฟล์ควรทำหน้าที่นั้นเพียงอย่างเดียว) แต่ก่อนอื่น ต้องสามารถแยกแยะระหว่าง pure function กับ impure function ได้เสียก่อน

นั่นคือสิ่งที่จะฝึกในแบบฝึกหัดนี้ โดยจะรันฟังก์ชันทั้งสองประเภทแล้วสังเกตผลลัพธ์ที่ได้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Functional Programming ระดับกลางด้วย purrr

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()
แก้ไขและรันโค้ด