Real World Haskell'i okuyordum ve sona yaklaşıyorum, ancak (.)ve ($)operatörleriyle ilgili bir tarz meselesi beni kandırıyor . Diğer işlevlerin bileşimi olan bir işlevi yazdığınızda, şöyle yazarsınız: f = g . h Ama bu fonksiyonların sonuna bir şey uyguladığınızda, bunu şöyle yazıyorum: k = a $ b $ c $ value …
Nokta operatörünün bu Haskell kodunda ne yaptığını anlamaya çalışıyorum: sumEuler = sum . (map euler) . mkList Kaynak kodun tamamı aşağıdadır. Benim anlayışım Nokta operatörü iki işlevi sumve sonucunu map eulerve sonucunu mkListgirdi olarak alıyor. Ancak, sumbir işlev değil, işlevin argümanıdır, değil mi? Peki burada neler oluyor? Ayrıca ne (map …
Bu bir yere geldi ama bunun nasıl çalıştığını bilmek istiyorum kodu: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) Çıktı: findIndices (== 0) [1,2,0,3,0] == [2,4] ; burada pred (== 0) …