我想问一个问题。我在Hakskell biginner和我有一些diffictulties用非常简单的程序,如果红利%分频器==应该告诉我0Haskell中的输入类型
我有这样的代码:
f::Integer -> Integer -> Bool
f x y = if ((x `mod` y) == 0) then True
else False
main = do putStrLn "Set up dividend"
x <- getLine
putStrLn "Set Up divider"
y <- getLine
f read x::Int read y::Int
但是当我要运行它,我有一个错误:
Couldn't match expected type `Int' with actual type `m0 b0'
Expected type: m0 a0 -> m0 b0 -> Int
Actual type: m0 a0 -> m0 b0 -> m0 b0
In a stmt of a 'do' block: putStrLn "Set up dividend"
In the expression:
do { putStrLn "Set up dividend";
x <- getLine;
putStrLn "Set Up divider";
y <- getLine;
.... } ::
Int
我真的不知道,什么是错的。我也试过f x y (not f read x::Int .....)
没有任何结果。我必须做错事。我知道关于这个问题有很多话题,但没有任何帮助。我错过了一些东西。
我不知道,为什么我不能插入代码空间。当然,我已经对齐线 –
请参阅[markdown帮助](http://stackoverflow.com/editing-help)。您需要在每行代码前加上4个空格,并在每个代码块的前面添加一个空行。 –
或选择代码并单击工具栏中的代码按钮。 – sepp2k