Tagged: High-Order Function

Functional Programming #3 : ฟังก์ชันมีระดับ 4

Functional Programming #3 : ฟังก์ชันมีระดับ

เกริ่นนำ ในบทความที่แล้วผมนำเสนอแนวคิดการเรียกตัวเองและฟังก์ชันพิสุทธิ์อันเป็นพื้นฐานของ FP ซึ่งในตอนท้าย ๆ ผมนำเสนอการเพิ่มศักยภาพของฟังก์ชัน โดยการทำฟังก์ชันซ้อนฟังก์ชัน แต่เท่านั้นยังไม่พอครับเพื่อให้ FP เป็นเครื่องมือที่ทรงประสิทธิภาพ เราจึงต้องเข้าไปในตู้โทรศัพท์เพื่อแปลงร่างฟังก์ชันทำให้พิสดารเปรียบเป็นซูเปอร์แมนคือเอากางเกงในสีแดงมาใส่ทับกางเกงนอกนั่นเอง ฟังก์ชันกลายเป็นพลเมืองชั้นหนึ่ง พลเมืองชั้นหนึ่ง (first class citizen) เป็นคำที่หมู่พลเมืองชั้นสองมักจะพูดถึง ซึ่งโดยทั่วไปแล้ว เมื่อคนที่ไปอยู่บ้านเมืองอื่น มักมีปัญหาไม่ได้รับสิทธิเท่าเทียมกับพลเมืองของเจ้าของประเทศ เช่นสิทธิในการรักษาพยาบาลเป็นต้น แล้วในแง่การเขียนโปรแกรมหละอะไรที่เรียกว่าพลเมืองชั้นหนึ่งหรือชั้นสอง เรื่องนี้ดูไม่ยากครับ ดูกันที่อะไรก็ตามถ้าสามารถกำหนดเป็นตัวแปรได้โดยตรงถือว่าเป็นชั้นหนึ่ง ถ้ากำหนดได้แต่โดยอ้อม ๆ หรืออาจไม่ได้เลย เราถือว่าเป็นชั้นสอง แต่ถ้ากำหนดเป็นตัวแปรไม่ได้เลย อันนี้ตีตั๋วชั้นสาม ใครมาก่อนได้ก่อน มาหลังต้องยืน อันนี้ล้อเล่นครับชั้นสามไม่มีนะครับ มีแค่สองชั้นถ้าท่านยังงงอยู่มันเกี่ยวอะไรกับการเขียนโปรแกรม more »