การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน

Haskell:
การจัดระเบียบโค้ดเข้าไปในฟังก์ชัน

วิธีการ:

นี่คือวิธีที่คุณสามารถเขียนและใช้งานฟังก์ชันใน Haskell:

-- การประกาศฟังก์ชันง่ายๆ เพื่อบวกตัวเลขสองตัว
addNumbers :: Int -> Int -> Int
addNumbers x y = x + y

-- การใช้งานฟังก์ชัน
main = print (addNumbers 3 5)

ผลลัพธ์:

8

คุณยังสามารถสร้างฟังก์ชันระดับสูงได้:

-- รับฟังก์ชันหนึ่งฟังก์ชันและนำไปใช้สองครั้งกับบางอย่าง
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

-- การใช้งาน applyTwice กับฟังก์ชันไม่ระบุชื่อ
main = print (applyTwice (*2) 5)

ผลลัพธ์:

20

แง่ลึก

Haskell, ภาษาที่เป็นฟังก์ชันอย่างบริสุทธิ์, ถือฟังก์ชันเป็นสมาชิกชั้นหนึ่ง ในแง่ประวัติศาสตร์, นี่มีรากฐานมาจากแคลคูลัสแลมบ์ดา, กรอบการทำงานพื้นฐานในการคำนวณ ไม่เหมือนกับภาษาคำสั่งที่ฟังก์ชันเป็นลำดับของคำสั่ง, ใน Haskell, ฟังก์ชันเป็นนิพจน์ที่อธิบายความสัมพันธ์ระหว่างข้อมูล

มีทางเลือกอื่นในการเขียนฟังก์ชันดิบสำหรับการใช้ซ้ำ พิจารณาใช้ typeclasses สำหรับ polymorphism หรือการใช้งานโมดูลเพื่อกลุ่มฟังก์ชันที่เกี่ยวข้องกัน Haskell การประเมินค่าแบบเลือกสรรยังส่งผลต่อการทำงานของฟังก์ชัน—ฟังก์ชันจะไม่ถูกประเมินค่าจนกระทั่งผลลัพธ์เป็นที่ต้องการ, ซึ่งอาจส่งผลต่อการพิจารณาประสิทธิภาพ

ดูเพิ่มเติม