eşleşenDesen okul exercice olarak GHCi
Bu Fonksiyon
bar :: Float -> Float -> Float
bar x 0 = 0
bar 0 y = 0
bar x y = x * y
Ben
let bar x 0 = 0; bar 0 y = 0; bar x y = x * y
olarak ghc kısmına yazıp
bar foo 0
bar 0 foo
Ben değerlendirmek zorunda '|' kullanımı için çubuğu değiştirmesi istendi bu yüzden böyle bir şey yapmak istiyorum:
let bar x y = | x 0 = 0 | 0 y = 0 | x y = x * y
ama GHCi ben aldım
parse error on input '='
Ben GHCi bunu nasıl yapabilirim
? Desen eşleştirme kullanımı ('|') bir şeyi değiştirecek mi?
bar x y | x == 0 = 0
| y == 0 = 0
| otherwise = x * y
GHCi bir satırda Yazılı: kullanarak korumaları için sözdizimi de
Özgün 'bar'ınız desen eşleşmesini kullanır.[Muhafızlar] hakkında bilgi edinmek istiyorsunuz (http://en.wikibooks.org/wiki/Haskell/Truth_values#Guards). – dave4420
Özellikle zeki olabilirsiniz ve yazabilirsiniz 'let bar | aksi halde = (*) '... – leftaroundabout
İlk beklemeden önce' = 'öğesini kaldırın, bırakın çubuğu x y | x == 0 = ... | y == 0 = ... | aksi halde =. –