Function 哈斯克尔。将名称指定给阈值

Function 哈斯克尔。将名称指定给阈值,function,haskell,threshold,Function,Haskell,Threshold,我想知道如何用Haskell写作: 有一个由4个变量组成的列表:[w,x,y,z] 通过ghci完成以下操作后: collection :: Int -> Int -> Int -> Int -> [Int] collection w x y z = [w,x,y,z] 我想为w,x,y,z的每个阈值分配一个“意义”。例如:当0

我想知道如何用Haskell写作:

有一个由4个变量组成的列表:[w,x,y,z] 通过ghci完成以下操作后:

collection :: Int -> Int -> Int -> Int -> [Int]
collection w x y z = [w,x,y,z]
我想为w,x,y,z的每个阈值分配一个“意义”。例如:当0
如何将其放入Haskell代码中?

如果我正确理解您想要的内容,您可以定义一个函数,将您称之为“意义”的内容分配给单个整数,然后将集合列表映射到该整数上:

bin::Int->String
箱子x
|x Int->Int->Int->[字符串]
binnedCollection w x y z=地图仓位$collection w x y z
比如说,

Prelude> binnedCollection 0 20 60 80
["Low","Low","Medium","High"]

我为未包含在定义中的范围添加了错误案例;将它们更改为适合您逻辑的任何内容。

这看起来太棒了!顺便问一下,“bin”代表什么?或者你可以给我一个链接来阅读这种符号。非常感谢,请使用只有三个可能值的自定义数据类型,而不是使用
String
作为返回值
data Threshold=Low | Medium | High
,然后
bin x | x<60=Low
,等等@chepner Nice summent!