阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

F# 3.0 新特性简介

  • 2012-08-04
  • 本文字数:816 字

    阅读完需:约 3 分钟

即将发布的.NET Framework 4.5 会给 F# 3.0 语言带来多项新特性,除了类型提供器(type providers) LINQ 查询之类的核心特性之外,还有新的类型属性(type attribute)、三引号字符串常量、自动属性以及对未使用变量的警告等。

如果你向 F#记录类型附加 F# 3.0 中新引入的 [] 属性,那么编译器就会针对这种类型生成默认的构造器和属性设置方法,放置到生成的中间语言代码中。

微软的 Visual Studio F#开发者 Brian McNamara 说到:“[] 属性可能会帮助你处理 WPF 数据绑定和 Entity Framework 的情况。”

F# 3.0 引入了三引号的字符串常量,意味着三个引号之间的所有代码都是逐字解释的,因此不可能进行转码。借助于这种特性,开发者就能够添加 XAML 作为字符串常量,这对于在程序中嵌入 XML 代码作为数据或者向类型提供器传递大型字符串作为参数会非常有用。

M-Brace 的首席工程架构师 Nick 说到:“我已经用 F#做了四年编码工作,现在很高兴看到 F#在 Visual Studio 中得到完全的支持,终于到了 F#成为主流的时刻了。”

和之前的版本相比,F# 3.0 对自动属性的使用做出了改善,从而开发者能够在一行代码中使用这种特性,如下所示:

复制代码
type MyClass() = member val Y = 0 with get, set,

在上面的代码中,member val_ 表示自动属性,而 Y 的值是在=_ 后面声明的。

我已经使用 F#有两年多,非常喜欢这种语言。我之前使用 C#开发,最初的转换比较头疼,但非常值得,软件开发者 Huw Simpson 如是说。

F# 3.0 引入了一种新特性,使用它你可以使用命令行的方式激活警告代码 1182,如果在你的代码中有未被使用的变量,那么 F#编译器就会提出警告。在 Visual Studio 2012 中,你可以从项目属性对话框的 Build 标签页中把 _–warnon:1182_ 添加到 _Other flags_ 字段中,从而激活这种特性。

微软的 Visual Studio F#开发者 McNamara 说:“在有 10 万行代码的大型项目中,未被使用的变量警告会帮助你找到 bug。”

查看英文原文: Introducing the New Features of F# 3.0

2012-08-04 01:152053
用户头像

发布了 340 篇内容, 共 126.1 次阅读, 收获喜欢 13 次。

关注

评论

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

在高度为h的堆中,元素个数最多和最少分别是多少?

福大大架构师每日一题

ChatGPT

2023-06-23:redis中什么是缓存击穿?该如何解决?

福大大架构师每日一题

福大大架构师每日一题

情感语音识别技术及其应用

来自四九城儿

无处不在 | 亚马逊云科技的 Java 生态

亚马逊云科技 (Amazon Web Services)

Java 开源 jdk

符号接在 busybox 中的妙用

ScratchLab

TiDB v7.1.0离线升级命令版

TiDB 社区干货传送门

实践案例 版本升级 7.x 实践

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

大瞿科技

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

西柚子

驾驶新时代:车载语音识别的革命性进展与应用

来自四九城儿

TiDB 7.1资源管控和Oceanbase 4.0多租户使用对比

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

强化学习从基础到进阶-常见问题和面试必知必答[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战

汀丶人工智能

人工智能 深度学习 强化学习 Qlearning 6 月 优质更文活动

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

BlockChain先知

TTS语音合成技术及其应用

来自四九城儿

分布式流处理组件-生产实战:Broker节点负载

谢先生F

kafka 负载均衡 broker

2023-06-22:一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试 给你一个二维数组 classes ,其中 classes[i] = [passi, totali] 表

福大大架构师每日一题

算法 福大大架构师每日一题

cdc任务同步错误但不会触发告警问题记录

TiDB 社区干货传送门

故障排查/诊断

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

威廉META

问答对话文本数据,构建智能问答对话系统的基础

来自四九城儿

时间戳与时区

ScratchLab

skywalking沉了一年的线程池插件bug被我解决了

夏奇

Java Agent Skywalking ClassLoader 字节码增强 开源贡献

强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战

汀丶人工智能

人工智能 深度学习 强化学习 Qlearning 6 月 优质更文活动

语音合成数据的重要性:打造自然流畅的语音合成体验

来自四九城儿

TTS语音合成技术的挑战和未来发展

来自四九城儿

头一次见单例模式讲的如此透彻

越长大越悲伤

设计模式 单例模式

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

股市老人

老大给了个新需求:如何将汉字转换成拼音字母?1行Python代码搞定!

程序员晚枫

Python 拼音 汉字

基于CC2530设计智慧农业控制系统

DS小龙哥

6 月 优质更文活动

跨AZ部署最佳实践之Kafka

焦振清

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

EOSdreamer111

【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(基本概念篇)

洛神灬殇

领域驱动设计 DDD 领域驱动模型DDD 中台架构 领域驱动模型

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

鳄鱼视界

F# 3.0新特性简介_后端_Anand Narayanaswamy_InfoQ精选文章