6
Dot Operator ใน Haskell: ต้องการคำอธิบายเพิ่มเติม
ฉันพยายามทำความเข้าใจว่าตัวดำเนินการ dot ทำอะไรในรหัส Haskell นี้: sumEuler = sum . (map euler) . mkList ซอร์สโค้ดทั้งหมดอยู่ด้านล่าง ความเข้าใจของฉัน ตัวดำเนินการ dot กำลังรับฟังก์ชันทั้งสองsumและผลลัพธ์ของmap eulerและผลลัพธ์ของmkListเป็นอินพุต แต่sumฟังก์ชันไม่ใช่อาร์กิวเมนต์ของฟังก์ชันใช่ไหม? เกิดอะไรขึ้นที่นี่? นอกจากนี้สิ่งที่กำลัง(map euler)ทำอยู่? รหัส mkList :: Int -> [Int] mkList n = [1..n-1] euler :: Int -> Int euler n = length (filter (relprime n) (mkList n)) sumEuler :: Int …