2
,所以我試圖用另一個列表的第n個元素乘以一個列表的第n個元素,並把它們相加如何繁殖在F#列表的兩個二第n個元素
let listMulti xList yList =
|> [for x in xList do
for y in yList do
yield x*y ] // multiplies all the elements on x with y
|> List.filter(fun x-> List.nth % List.length (xList) =1) //gets the elements 1 , 4, 7 for a list of size 3. This is scalable
|> List.sum //add them all up
所以這裏的想法是
>listMulti [1;2;3][4;5;6];;
val it : int = 32
所以1×4 + 2 * 5 + 3 * 6 = 32 ,而是即時得到
錯誤FS0010:意外綴運算符在結合
幫助?
我不能得到這個工作。我是F#的新手,無法在List.zip2上找到任何信息。我發現List.zip並試圖讓我的咖喱功能解決它,但我似乎並不理解它。你能更清楚地瞭解這個的實現嗎? – SuperCell
這是一個錯誤,我在沒有編譯器的情況下編寫 - 應該是zip。增加了一些解釋 –
謝謝最後一個問題。我越來越 「期待型支持運營商‘+’,但給定函數類型,你可能會丟失一個參數傳遞給函數:」 讓內部的Xlist yList = List.zip的Xlist yList |>列表.sum(fun(a,b) - > a * b) 這是爲什麼?不是List.zip xList yList將列表返回到管道中? – SuperCell