Function Haskell-使用用户输入调用所有其他函数的主函数
我是Haskell的新手,因为来自Java,我觉得这一切都有点混乱 我正在尝试实现一个函数,该函数在命令行中提示用户输入数字,然后执行与输入相关的函数,如果没有输入,则默认为第一个函数 我对if函数有问题,编译器一直给我错误,我不知道为什么Function Haskell-使用用户输入调用所有其他函数的主函数,function,haskell,if-statement,compiler-errors,Function,Haskell,If Statement,Compiler Errors,我是Haskell的新手,因为来自Java,我觉得这一切都有点混乱 我正在尝试实现一个函数,该函数在命令行中提示用户输入数字,然后执行与输入相关的函数,如果没有输入,则默认为第一个函数 我对if函数有问题,编译器一直给我错误,我不知道为什么 main = do putStr "Enter question number: " xs <- getLine if (xs == "3") then putS
main = do
putStr "Enter question number: "
xs <- getLine
if (xs == "3")
then
putStr "number of toppings: "
top <- getLine
putStr "diameter of pizza in cm2: "
size <- getLine
(pizzaPrice (top size))
else
putStr "Enter 3 numbers: "
args <- getLine
(numAbove1 (args))
main=do
输入问题编号:
xs您需要在then和else子句中添加一个do
:
if ...
then do
putStr ...
...
else do
putStr ...
...
另外,确保if
语句的缩进量与xs相同,在向每个子句添加do时,我会得到相同的错误。
main = do
putStr "Enter question number: "
xs <- getLine
if (xs == "3")
then do
putStr "number of toppings: "
top <- getLine
putStr "diameter of pizza in cm2: "
size <- getLine
return ()
else do
putStr "Enter 3 numbers: "
args <- getLine
return()