在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:152622
用户头像

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

关注

评论

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

可见性是什么?(通俗易懂)

叫练

volatile JMM 多线程 synchronized

全球熵ETV系统APP软件开发

系统开发

英特尔携手德晟达、游密,发布云会议终端解决方案,打造视听新体验

E科讯

关于Kubernetes和Docker关系的八个问题

杨明越

P8架构挑战:七大专题1425页考点,你能成功吗?

小Q

Java 学习 程序员 架构 面试

没有它你的DevOps是玩不转的,你信不?

华为云开发者联盟

容器 DevOps 微服务

《css大法》之使用伪元素实现超实用的图标库(附源码)

徐小夕

CSS css3 大前端 CSS小技巧

Mybatis 中xml和注解映射,这次终于搞明白了

田维常

mybatis

原创 | 使用JPA实现DDD持久化-领域模型:对象的世界

编程道与术

Java hibernate 编程 mybatis jpa

一文教你看懂缓存穿透、击穿、雪崩、降级等异常

鄙人薛某

Java 缓存 后端 缓存击穿 缓存雪崩

安装MySQL后,需要调整的10个性能配置项

Simon

MySQL percona server

话题讨论 | 立一个近期的flag,你会想到什么?

xcbeyond

话题讨论

业务中台建设-数据

孝鹏

架构 中台 数据 赋能

甲方日常 65

句子

工作 随笔杂谈 日常

人脸识别是如何实现的

anyRTC开发者

ios 音视频 WebRTC 人脸识别 安卓

话题讨论 | 选择做一个程序员,你后悔过吗?

xcbeyond

话题讨论

话题讨论 | 30 张图解高并发服务模型你必须这些

程序员柠檬

话题讨论

情报合成研判系统开发,智慧警务解决方案

t13823115967

智慧公安

原创 | 使用JPA实现DDD持久化-O/R映射元数据:映射注解分组

编程道与术

Java hibernate 编程 mybatis jpa

原创 | 使用JPA实现DDD持久化-O/R映射元数据:类级映射-实体和值对象

编程道与术

Java hibernate 编程 mybatis jpa

Java架构速成笔记:七大专题,1425页考点,挑战P8岗

Java架构追梦

Java 学习 面试 java架构

不满意社区的轮子,我们自创了一套 React Hooks 风格的数据加载方案

LeanCloud

API React Hooks

《算法导论》.pdf

田维常

区块链司法存证应用落地应用解决方案

t13823115967

区块链落地开发

使用JPA实现DDD持久化-O/R映射元数据-特殊属性映射:ID、Version和Transient

编程道与术

Java hibernate 编程 mybatis jpa

开发实践丨用小熊派STM32开发板模拟自动售货机

华为云开发者联盟

物联网 小熊派 开发板

如何预防勒索攻击事件?这份安全自查指南请查收

京东科技开发者

数据安全 数据加密 系统安全

北京奥森小景

小马哥

摄影 美景 奥森 28天写作

operator-sdk & kubebuilder

QiLab

k8s operator-sdk kubebuilder crd

时序数据库DolphinDB与Druid的对比测试

DolphinDB

数据分析 时序数据库 Druid 数据库选择 DolphinDB

网咯请求中的 connectTimeout 和 soTimeout

不在调上

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