Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用haskell创建三角形区域_Haskell - Fatal编程技术网

如何使用haskell创建三角形区域

如何使用haskell创建三角形区域,haskell,Haskell,你好,我只是想问一下如何在Haskell中创建矩形区域。这是我的密码 main = do putStrLn"Enter base" base <- getLine putStrLn"Enter height" height <- getLine putStrLn("The area is: " ++ (height * base) /2) 首先,应该在do之后缩进,并在函数及其参数之间使用空格 main = do putStrLn "Enter base" base

你好,我只是想问一下如何在Haskell中创建矩形区域。这是我的密码

main = do
putStrLn"Enter base"
base <- getLine
putStrLn"Enter height"
height <- getLine
putStrLn("The area is: " ++ (height * base) /2)

首先,应该在
do
之后缩进,并在函数及其参数之间使用空格

main = do
    putStrLn "Enter base"
    base <- getLine
    putStrLn "Enter height"
    height <- getLine
    putStrLn ("The area is: " ++  show ((read height * read base) /2))
readLn
执行
getLine
操作,然后对结果使用
read

打印
是否显示,然后显示
putStrLn


我使用了
putStr
,它不以换行符开头,从而使用更少的括号

长方形有什么好东西?到目前为止你有什么代码?如果你被困在haskell的开头,试着等待,然后发布我的代码@andrewcThank-现在好多了-我们可以看看你是怎么想的。如果你收到一条错误信息,你能把它也放进去吗?您现在有了一个尝试性的解决方案。看来您的主要问题是了解如何设置SO问题的格式,以及如何使用
read
函数将从
getLine
获取的字符串解析为计算中使用的整数
putStrLn(“该区域为:”+((读取高度*读取基数)/2))
@ThomasM.DuBuisson您的权利我如何更正该错误?非常好。@user2714693还有一个提示:除了
main
之外,最好始终包含上述类型的函数。当你以后阅读它时,它对编译器和你都有帮助。@rogaos确实-非常好的实践。我刚才跳过了Num Typeclass位的介绍。你也可以做
打印$triangle base height
来保存括号。我怎么不知道
readLn
?我一直在导入
Control.Applicative
并执行
读取getLine
。谢谢你提供了一个方便的功能@安德烈:当然。我喜欢用一种应用性的风格来写东西——感觉如此流畅和简单。只是在这种特殊情况下,
readLn
看起来容易多了!
main = do
    putStrLn "Enter base"
    base <- getLine
    putStrLn "Enter height"
    height <- getLine
    putStrLn ("The area is: " ++  show ((read height * read base) /2))
triangle base height = height * base / 2

main = do
    putStrLn "Enter base"
    base <- readLn      -- readLn is handy
    putStrLn "Enter height"
    height <- readLn
    putStr "The area is: "
    print (triangle base height)  -- print is also handy