會有人請解釋爲什麼下面的代碼,應用列表元素的功能
let list = ["A"; "B"; "C"]
let rec processList2 aList str =
match aList with
| h::t -> let z = str + ", " + h
printfn "%s" z
processList2 t z
| [] -> aList |> ignore
返回以下,
val list : string list = ["A"; "B"; "C"]
> processList2 list "X";;
X, A
X, A, B
X, A, B, C
val it : unit =()
>
,而不是這個?
val list : string list = ["A"; "B"; "C"]
> processList2 list "X";;
X, A
X, A, X, B
X, A, X, B, X, C
val it : unit =()
>
功能是遞歸的通行證「Z」,以「海峽」,每個通,所以它看起來像它應該工作...
我真的在這裏體會到專家的幫助。我正在努力學習F#並且努力學習列表。
另外,如何聲明一個'字符串列表?我有一個問題,其中列表預期會返回一個單位而不是一個字符串。