คำถามติดแท็ก function-composition

12
อะไรคือความแตกต่างระหว่าง . (จุด) และ $ (เครื่องหมายดอลลาร์)?
อะไรคือความแตกต่างระหว่างจุด(.)และเครื่องหมายดอลลาร์($)? ดังที่ฉันเข้าใจแล้วพวกเขาทั้งคู่เป็นน้ำตาลประโยคโดยไม่จำเป็นต้องใช้วงเล็บ

7
องค์ประกอบของฟังก์ชัน Haskell (.) และฟังก์ชันของแอปพลิเคชัน ($) สำนวน: การใช้ที่ถูกต้อง
ผมได้อ่านโลกแห่งความจริง Haskellและฉันกำลังใกล้จะจบ แต่เรื่องของรูปแบบที่ได้รับการ niggling ที่ผมจะทำอย่างไรกับ(.)และ($)ผู้ประกอบการ เมื่อคุณเขียนฟังก์ชั่นที่เป็นองค์ประกอบของฟังก์ชั่นอื่น ๆ ที่คุณเขียนมันชอบ: f = g . h แต่เมื่อคุณใช้บางสิ่งกับท้ายฟังก์ชั่นเหล่านั้นฉันเขียนมันแบบนี้ k = a $ b $ c $ value แต่หนังสือจะเขียนดังนี้: k = a . b . c $ value ตอนนี้สำหรับฉันแล้วพวกเขาดูมีประโยชน์เทียบเท่าพวกเขาทำสิ่งเดียวกันในสายตาของฉัน อย่างไรก็ตามยิ่งฉันดูมากเท่าไหร่ฉันก็ยิ่งเห็นคนเขียนหน้าที่ของตนมากขึ้นในลักษณะที่หนังสือเล่มนี้เขียนขึ้นด้วย(.)อันดับแรกและสุดท้ายเท่านั้นที่($)จะใช้เพื่อผนวกค่าเพื่อประเมินจำนวนมาก . มีเหตุผลในการใช้วิธีหนังสือที่ดีกว่าการใช้($)สัญลักษณ์ทั้งหมดหรือไม่ หรือมีแนวปฏิบัติที่ดีที่สุดที่ฉันไม่ได้รับบ้าง หรือมันฟุ่มเฟือยและฉันไม่ควรกังวลเกี่ยวกับเรื่องนี้เลย?

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 …

2
การรวมส่วนของ Haskell Code เพื่อให้ได้ภาพที่ใหญ่ขึ้น
นี่คือรหัสที่ฉันเข้ามาบางที่ แต่ต้องการทราบวิธีการทำงาน: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) ผลลัพธ์: findIndices (== 0) [1,2,0,3,0] == [2,4]โดยที่ pred คือ (== 0) & xs คือ [1,2,0,3,0] ฉันจะแสดงความเข้าใจของฉัน: (zip [0..] xs) บรรทัดข้างต้นทำอะไรได้บ้างนำดัชนีไปสู่ทุกสิ่งในรายการ สำหรับอินพุตที่ระบุข้างต้นมันจะมีลักษณะดังนี้: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.