我測試以下代碼遞歸地填充字典。然而,類型推斷似乎不能識別字典類型。我試過使用類型註釋,但似乎沒有幫助。遞歸填充字典?
在遞歸例程中是否對字典的使用有一些限制。我是否需要讓字典可變,因爲我希望在迭代過程中對其進行更改。
open System
open System.Collections.Generic
////dictionary recursion test
let pop_dict tlist =
// let rec inner tlist acc ddict:Dictionary<string,int> =
let rec inner tlist acc ddict =
match tlist with
| [] -> ddict.Add ("dummykey", acc)
| x::xs -> inner xs (x::acc) ddict
let ddict = Dictionary<string,int>()
inner tlist [] ddict
// Main Entry Point
let main() =
let tlist = [1;2;3;4]
let d = pop_dict tlist
main()
你想要一個帶有一個鍵(「dummykey」)的可變字典,它包含你傳入的列表? let dic = Dictionary(); dic.add(「dummykey」,[1,2,3,4]) –
2011-04-02 22:08:18