0
while :: Int -> Bool -> (Int,Int) -> (Int,Int) ->[Int] -> String
while arguments validity premRange atomRange operators = 
     return(if validity then "Hello" else "NO")



main :: IO()
main =
    do   
putStrLn "Welcome to Random Argument Generator"
arguments <- getArguments
validity <- getValidity
putStrLn "Enter the range of the number of premises to each argument"
premRange <- getRange
putStrLn "Enter the range of the number of atomic statments per premises"
atomRange <- getRange
operators <- getOperators
putStrLn "Thank You!\nExecuting..."
test <- while arguments validity premRange atomRange operators
putStrLn "Good Bye"

しばらくして戻ってきたことと、それへの呼び出しについて不平を言っています。私はこの機能をテストとして作成しましたが、正確に何について不平を言っているのか本当に混乱しています。

4

1 に答える 1

1

Haskell では、式などのif式は、関数の完全に細かい定義です。単語を削除するだけですreturn

その後、main1 つの行が I/O を実行しないという問題が発生するため、そのタイプは周囲と互換性がありませんdo(私は思います):

test <- while arguments validity premRange atomRange operators

しかし、ああ、次のように変更できます。

let test = while arguments validity premRange atomRange operators
于 2013-03-14T01:59:27.260 に答える