8 คะแนน โดย ohyecloudy 2025-06-08 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • Composition ซึ่งเป็นหนึ่งในวิธีการนำกลับมาใช้ซ้ำ เกี่ยวข้องกับชนิดข้อมูลและฟังก์ชัน
    • ชนิดข้อมูลสามารถประกอบกันแบบ AND หรือ OR
  • เมื่อจำนวน input และ output เท่ากัน การทำ function composition จะง่าย
    • แค่นำ output ของฟังก์ชันหนึ่งส่งต่อเป็น input ของฟังก์ชันถัดไปก็จบ
    • เมื่อจำนวนไม่เท่ากัน ก็ต้องมีวิธีแก้ปัญหานี้
  • เมื่อจำนวน input มากกว่า ใช้ Currying
    • ทำให้จำนวน input เหลือเพียงหนึ่ง
  • เมื่อจำนวน output มากกว่า ใช้ Monad
    • ทำให้จำนวน output เหลือเพียงหนึ่ง แล้วแยกเป็นกรณีที่ประมวลผลแล้วหรือยังไม่ได้ประมวลผล
      • ถ้าประมวลผลแล้ว ก็ส่งต่อไปยังฟังก์ชันถัดไปได้เลย
      • ถ้ายังไม่ได้ประมวลผล ก็ให้ฟังก์ชันลองจัดการ
    • พอมารู้ทีหลัง ที่แท้นี่ก็คือ Monad
    • ห่อ output ไว้ใน Monad แล้วใช้ bind เพื่อประกอบฟังก์ชัน

พออธิบายด้วยการประกอบฟังก์ชันพร้อมตอบคำถามว่า "ทำไม?" ก็เลยเข้าใจได้ดีมาก ก่อนหน้านี้เคยอ่านบทความที่อธิบายโมนาดด้วยแนวประมาณว่าเอาใส่กล่องแล้วค่อยหยิบออกมา ซึ่งตอนนั้นไม่ค่อยเข้าใจนัก พอมาคิดตอนนี้ น่าจะเป็นเพราะบทความแบบนั้นไม่ได้อธิบายคำว่า "ทำไม" นั่นเอง

2 ความคิดเห็น

 
kayws426 2025-06-09

อ่านได้เพลินมากครับ~

 
akarin 2025-06-09

อ่านแล้วเข้าใจง่ายดีครับ พอมองแบบนี้ก็เข้าใจได้ง่ายนะ