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