我正在处理一些需要使用f#查询来对列表求和的代码。
对于那些正在学习f#基础知识的人,这是一个很方便的链接:https://learnxinyminutes.com/docs/fsharp/ 到目前为止,我已经编写了一段代码,用于输出5个数字平方之和的语句。
到目前为止,这个代码正确地显示了每个列表的平方和为3000。'numbers'将被用于查询。
对于那些正在学习f#基础知识的人,这是一个很方便的链接:https://learnxinyminutes.com/docs/fsharp/ 到目前为止,我已经编写了一段代码,用于输出5个数字平方之和的语句。
到目前为止,这个代码正确地显示了每个列表的平方和为3000。'numbers'将被用于查询。
let square x = x * x
let numbers = [10.0; 20.0; 30.0; 40.0]
let sumOfSquare2 =
[10.0; 20.0; 30.0; 40.0]
|> List.map square
|> List.sum
printfn "Sum of square: %A" (sumOfSquare2)
let sumOfSquare =
List.sum ( List.map square [10.0; 20.0; 30.0; 40.0] )
printfn "Sum of square: %A" (sumOfSquare)
目前,我有些困惑如何在查询后正确使用“square”函数。
// A query expression.
let query1 =
query {
for number in numbers do
select (number)
}
|> square query
printfn "Query sum of squares: %A" (query1)
那么我应该如何正确地呈现这个问题?'query'本身是有效的(在使用printfn对query进行操作时),但当尝试将square函数传输到query时,它无法编译。
Seq.sum
代替List.sum
等。 - Gus