相关疑难解决方法(0)

你如何在F#中组成查询表达式?

我一直在查看查询表达式http://msdn.microsoft.com/en-us/library/vstudio/hh225374.aspx

而且我一直在想为什么以下是合法的

let testQuery = query {
        for number in netflix.Titles do
        where (number.Name.Contains("Test"))
    }
Run Code Online (Sandbox Code Playgroud)

但你真的不能做这样的事情

let christmasPredicate = fun (x:Catalog.ServiceTypes.Title) -> x.Name.Contains("Christmas")
let testQuery = query {
        for number in netflix.Titles do
        where christmasPredicate 
    }
Run Code Online (Sandbox Code Playgroud)

当然F#允许这样的可组合性,所以你可以重用一个谓词?如果我想在特定日期之前将圣诞节标题与另一个谓词结合起来怎么办?我必须复制并粘贴我的整个查询?C#与此完全不同,有几种方法可以构建和组合谓词

f# query-expressions computation-expression

21
推荐指数
2
解决办法
3346
查看次数