写点什么

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程

  • 2011-09-27
  • 本文字数:1176 字

    阅读完需:约 4 分钟

微软最近宣布了F# 3.0 的开发者预览版——新特性包括通过查询表达式支持LINQ,以及类型提供程序系统和一组内置的提供程序,使得对各种数据源的编程变得简洁。

F# 3.0 的富信息编程特性使你可以对数据库、Web 服务、Web 数据源和数据代理直接编程。比如说,你现在可以这样做:

<p><span face="Consolas"><span color="#000000"><span>[<Generate><generate>] <br></br></generate></span></span></span><span face="Consolas"><span><span><span color="#0000ff">type</span></span><span color="#000000"> Northwind = ODataService<</span><span><span color="#a31515">"http://services.odata.org/Northwind/Northwind.svc/"</span></span></span></span><span face="Consolas"><span><span color="#000000">> <br></br></span><span><span color="#0000ff">let</span></span><span color="#000000"> db = Northwind.GetDataContext()</span></span></span></p><p><span color="#000000"><span>query { </span></span><span><span><span color="#0000ff">for</span></span><span color="#000000"> cat </span><span><span color="#0000ff">in</span></span><span color="#000000"> db.Categories </span><span><span color="#0000ff">do</span></span> <br></br></span><span face="Consolas"><span color="#000000"> select (cat.CategoryID, cat.CategoryName, cat.Description) } <br></br></span></span><span><span face="Consolas"><span color="#000000"> |> Seq.iter (</span><span><span color="#0000ff">fun</span></span></span></span><span face="Consolas"><span><span color="#000000"> (id, name, description) –><br></br></span></span></span><span face="Consolas"><span><span color="#000000"> printfn </span><span><span color="#a31515">"ID: %d\nCategory: %s\nDescription: %s\n"</span></span><span color="#000000"> id name description)</span></span></span></p>常用的几种数据源已有内置的类型提供程序了:OData 服务、数据库连接、数据库架构、通过实体数据模型指定的数据、Web 服务和资源文件。此外,类型系统是开放和可扩展的,这允许开发者以及第三方创建他们自己的提供程序。

其它新特性的简述:

  • 自动实现的属性允许属性没有后端存储
  • 参数帮助和增强智能感知
  • 为可空类型提供类库支持,包括转换运算符和算术运算符
  • 适用于国际单位系统(SI)的度量单位类型。这之前是放在 F# PowerPack 里的,现在已经归入 F#核心库了。

你可以在 MSDN 文档里查阅详情。你也可以从 CodePlex 下载 F# Sample Pack 查看这些特性。

F#是一种多范式编程语言,它针对.NET Framework,并贯彻了函数式编程命令式编程和面向对象编程的原则。

查看英文原文: F# 3.0 – LINQ + Type Providers = Information Rich Programming

2011-09-27 06:122538

评论

发布
暂无评论
发现更多内容

Aseprite for mac(像素动画制作工具)

展初云

Mac 2D像素风格动画制作软件 Aseprite

Vue 实现低代码开发平台,没想到这么好用!

伤感汤姆布利柏

什么是工业元宇宙?如何利用版本控制来应对工业元宇宙的挑战?

龙智—DevSecOps解决方案

元宇宙

毕业季

Joyhop

Helix QAC 2023.3版本发布,新增对C++20的支持等多个功能,实现100%MISRA C++:2023®规则覆盖

龙智—DevSecOps解决方案

MISRA C++:2023 MISRA C++

上海数交所与合合信息发布产业数据行业创新中心,政产学研合力为“数据航母”加速

合合技术团队

合合信息 上海数交所 产业数据行业创新中心 2023全球数商大会

Mac综合优化清理软件MacCleaner 3 Pro

展初云

Mac 清理优化 MacCleaner Pro

借助工具落地提高外包软件项目代码提交规范

知者如C

办公软件定制开发在企业发展中的优势

Geek_16d138

APP软件开发 软件定制

【专业测试工具推荐】优化测试流程,高效完成测试工作!

Liam

程序员 测试 自动化测试 接口测试 测试工具

优雅实现API接口开关:让你的应用更可控

树上有只程序猿

spring-boot API接口

缘由

Joyhop

天猫商品详情API接口深度解析与应用

tbapi

天猫 天猫数据接口 天猫商品详情数据接口 天猫商品API接口 天猫API接口

AutoCAD 2023密钥序列号最新

胖墩儿不胖y

Mac软件 cad cad工具

Mac安装Windows应用的工具CrossOver 23.7

展初云

5大院士领衔!2023计算产业生态大会keynote议程首发

彭飞

实习

Joyhop

打破障碍:克服数字化应用挑战的策略

互联网工科生

数字化

企业如何选择安全又快速的大文件传输平台

镭速

大文件传输 大文件传输平台

开篇

Joyhop

《社交泛娱乐出海作战地图》加印领取啦!

融云 RongCloud

地图 社交 泛娱乐 出海 一图流

99%的人不知道的Docker干货

伤感汤姆布利柏

Docker 程序员 低代码 干货

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程_.NET_Roopesh Shenoy_InfoQ精选文章