我是Haskell的新手,我只是想编写一个列表理解来计算列表中每个不同值的频率,但是我在最后一部分遇到了麻烦.
到目前为止我有这个:
frequency :: Eq a => [a] -> [(Int,a)]
frequency list = [(count y list,y) | y <- rmdups ]
Run Code Online (Sandbox Code Playgroud)
涉及rmdups的最后一部分有问题.
count函数接受一个字符,然后是一个字符列表,并告诉你该字符出现的频率,代码如下.
count :: Eq a => a -> [a] -> Int
count x [] = 0
count x (y:ys) | x==y = 1+(count x ys)
| otherwise = count x ys
Run Code Online (Sandbox Code Playgroud)
先感谢您.
我是Haskell的新手,我只是想编写一个简单的列表解析来从列表列表中删除空列表的每个实例,即输入此..
> remove ["abfwfw", "wfgwg", "", "dfw"]
Run Code Online (Sandbox Code Playgroud)
将导致此输出...
> ["abfwfw", "wfgwg", "dfw"]
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
基本上我想通过点击按钮使用JavaScript更改CSS中元素的背景颜色.
到目前为止我的CSS看起来像这样:
div.box {
width:100px;
height:100px;
background-color:#FF2400;
}
Run Code Online (Sandbox Code Playgroud)
它需要动态变化为多种颜色的选择,只需要多个按钮即可(每种颜色都是不同的颜色).
对不起,这个简单的问题只是我对哈斯克尔来说非常新.
我正在尝试编写一个函数"order",它将对由另一个函数"frequency"生成的元组列表进行排序(频率计算列表中不同元素的数量a给出一个这样的结果,比如>频率"aabbbccc",将结果,[(2,a),(3,b),(3,c)])按升序排列.我无法弄清楚如何写它.
如果我在前奏中写入>排序(频率分数),它将对其进行排序(分数是等级列表,即["a","b","c","c"].
但是当我尝试写一个函数时..
results :: [a] -> [(Int, a)]
results = sort (frequency score)
Run Code Online (Sandbox Code Playgroud)
遗憾的是,这种排序适用于太多的论点.
抱歉显而易见的问题,并提前感谢.