我在这里有一点 Haskell 情况。我正在尝试用 monads 编写两个函数。只要函数的输入/输出条件为真,第一个就应该遍历函数。第二个应该使用第一个将数字作为输入并将其写入输出,直到您输入一个空格。
我被这个卡住了,有什么帮助吗?
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 = i