作为Haskell的初学者,我试图编写一个代码来查找3个整数中的最小数字。这就是我到目前为止所拥有的。任何人都可以把我推向正确的方向吗?
smallest :: Int -> Int -> Int -> Int
smallest a b c = min a b c
答案 0 :(得分:9)
min
函数接受两个参数,这就是您的代码无法编译的原因。但是,您可以拨打min
两次:
smallest :: Int -> Int -> Int -> Int
smallest a b c = min a (min b c)
如果您对两次调用并且想要更简洁的解决方案不满意,可以使用minimum
功能。它接受一个列表并返回其最小值:
smallest :: Int -> Int -> Int -> Int
smallest a b c = minimum [a, b, c]
答案 1 :(得分:5)
@ Zheka的代码适用于三个数字,如果你需要更多,它足以让人注意到min a (min b c)
看起来就像一个折叠:
smallest a b c = foldl1 min [a, b, c]
答案 2 :(得分:0)
无点样式:
metadata