我有我写了一个练习模式匹配列表尾部元组元素
let rle s =
s
|> List.map (fun x -> (x, 1))
|> List.fold (fun acc x ->
match acc with
| [] -> [(x, 1)]
| h::(x, n) -> h::(x, n+1)
| h -> h::(x, 1)
)
|> List.map (fun (x, n) ->
match n with
| 1 -> x.ToString()
| _ -> x.ToString() + n.ToString()
)
模式h::(x, n) -> h::(x, n+1)
无法编译一些运行长度编码代码。
有谁知道为什么?
@pad嗯countBy似乎只是做了直方图。它似乎没有考虑到每个元素的邻域条件。 – jameszhao00 2013-02-12 19:18:29
你是对的。需要一些时间来回忆一下RLE的内容。 – pad 2013-02-12 19:22:49