當我試圖編譯映射字符串數組爲字符串
操作者我得到這個誤差的陣列「EXPR。[IDX]」已被用於基於不確定 類型的對象上在這個節目點之前的信息。考慮加入 進一步的類型約束
這是代碼
let convertFile fileName =
let arrayToTransaction (arr: string[]) =
arr
|> Array.map (fun x -> splitStr [|"\n"|])
|> Array.map
(fun x -> {
date = DateTime.Parse(x.[1]);
payee = x.[0].Substring(0, x.[0].IndexOf(','))
category = "Everyday Expenses: Groceries/Food"
memo = "Parsed with my F# parser"
outflow = Single.Parse(x.[2].Substring(str.IndexOf('-') + 1))
inflow = 0.0f
})
這不起作用,不幸的是,它說。 '這個表達式預計有 字符串 - >字符串[] ,但這裏有 string []'。這對我來說沒有什麼意義,因爲數組是字符串的集合。 – 2014-11-06 21:14:13
問題是您的'splitStr'調用較早的一行。你根本沒有傳入'x'字符串。 – scrwtp 2014-11-06 21:26:10
是的,我在你發佈的同一時間計算出來。我以爲lambda會「管」x到'splitStr'唉,它似乎並不如此。 – 2014-11-06 21:28:13