如何使用haskell创建三角形区域
你好,我只是想问一下如何在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
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