Type Error < Haskell < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Aufgabe | [mm] t:\IN\to{0,1}, [/mm] wobei [mm] t(x)=\begin{cases} 0, & \mbox{sonst} \mbox{ } \\ 1, & \mbox{falls } x \mbox{ ganzzahlig durch 5 teilbar} \end{cases} [/mm] |
Nun habe ich folgende Haskell Funktion geschrieben:
t::Integer->Bool->Integer
t x | (((x mod 5)==0)) =1
| otherwise =0
jedoch kommt folgender Fehler:
Type checking
ERROR "aufg2.hs":11 - Type error in application
*** Expression : x mod 5
*** Term : x
*** Type : Integer
*** Does not match : a -> b -> c
Was habe ich da verkehrt gemacht. Ich habe den Verdacht das eine Pruefung mit mod 5 nicht funktioniert, wie kann ich jedoch dieser Vorrausetzung anders pruefen.
Gruss niesel
|
|
|
|
Hallo,
es ist schon einige Semester her, aber da war was mit Infix-Notation...
Ich glaube, die korrekte Syntax ist entweder
mod x 5
oder
x 'mod' 5
Gruß
Martin
|
|
|
|
|
habe die antwort
das script ist so richtig
t::Integer->Integer
t x | (((x `mod` 5)==0)) =1
| otherwise =0
|
|
|
|