我寫了這個F#代碼來計算列表中的單詞頻率並將一個元組返回給C#。你能告訴我如何讓代碼更有效率或更短?如何讓word freq counter更高效?
let rec internal countword2 (tail : string list) wrd ((last : string list), count) =
match tail with
| [] -> last, wrd, count
| h::t -> countword2 t wrd (if h = wrd then last, count+1 else last @ [h], count)
let internal countword1 (str : string list) wrd =
let temp, wrd, count = countword2 str wrd ([], 0) in
temp, wrd, count
let rec public countword (str : string list) =
match str with
| [] -> []
| h::_ ->
let temp, wrd, count = countword1 str h in
[(wrd, count)] @ countword temp
嘗試http://codereview.stackexchange.com/這類問題。 – 2012-03-08 00:01:10
@MauricioScheffer我不知道codereview.stackexchange.com甚至存在,直到您發佈此評論。有趣。 – 2012-03-10 06:34:10