我有以下代码:
clip n = if n < 0 then 0 else n
它属于同一类别&#34;类别&#34;作为abs
,ceiling
,floor
。我不认为有这样的标准功能吗?
答案 0 :(得分:10)
当然有一个:
clip = max 0
答案 1 :(得分:4)
侧注,用于在闭合区间[a,b]内剪切n,即
考虑
clip :: (Ord a) => a -> a -> a -> a
clip n a b = min b $ max n a
或者如果你喜欢无点式:
clip :: Ord a => a -> a -> a -> a
clip a b = (a `max`) . (`min` b)