に私は戻ってオプションパーツへジャンプするプログラムを作りたいんや変数への値を割り当てない「表現」ハスケル - 別々のメイン=ブロック
私は機能を行うネストされたように作ってみました:
main = do
...
option = do
、その後、私は唯一の「オプション」を行う、いくつかのケースでは呼ぶだろうが、このように動作していないようだと、私はどこでも任意の別の解決策を見つけることができませんでした。誰か助言をお願いしますか?
main = do
putStrLn "Enter expression:"
expression <- getLine
putStrLn "Enter a number from 1 to 5:"
putStrLn "1. Convert to Postfix"
putStrLn "2. Convert to Prefix"
putStrLn "3. Convert to Binary Expression Tree"
putStrLn "4. Substitution"
putStrLn "5. Evaluate Expression"
choice <- getLine
case (choice) of
"1" -> putStrLn $ toPostfix expression
"2" -> putStrLn $ toPrefix expression
"3" -> print (parse expression)
"4" -> do { putStrLn "Enter a variable: "
; variable <- getLine
; putStrLn "Enter a number: "
; number <- getLine
; print (sub expression variable number)
; print (solvePostfix (toPostfix (sub expression variable number))) }
"5" -> print (solvePostfix (toPostfix expression))
otherwise -> putStrLn "This is not a number from 1 to 5!"
あなたのコードには 'option'というものは何もありません。 'option'関数が正確に何をしたいのですか? – interjay
私はちょうど "大文字"の前にループバックしたかったのですが、ユーザーが悪いオプションを入力した場合、新しいオプションを入力することができます – Mafi
もう一度main関数を呼び出したくありませんでした。 – Mafi