我想问问题。我是 Hakskell 的大人物,我在使用非常简单的程序时遇到了一些困难,它应该告诉我是否有分频器 % 分频器 == 0。
我有这个代码:
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 .....)
没有任何结果。我必须做错事。我知道有很多关于这个问题的话题,但没有任何帮助我。我错过了一些东西。