我在这里有一点Haskell情况.我正在尝试用monad编写两个函数.只要条件对于函数的输入/输出为真,第一个就应该迭代一个函数.第二个应该使用第一个作为输入的数字并将其作为输出写入,直到您输入空格.
我坚持这个,有什么帮助吗?
module Test where
while :: (a -> Bool) -> (a -> IO a) -> a -> IO a
while praed funktion x = do
f <- praed (funktion x)
if f == True then do
y <- funktion x
while praed funktion y
else return x
power2 :: IO ()
power2 = do putStr (Please enter a number.")
i <- getChar
while praed funktion
where praed x = if x /= ' ' then False else True
funktion …
Run Code Online (Sandbox Code Playgroud)