写点什么

在 Linux 以及 Mac OS X 启用 F#

  • 2016-04-29
  • 本文字数:784 字

    阅读完需:约 3 分钟

随着.NET Core 的推进,如今我们在 Linux 和 Mac OS X 平台上也可以和原先 Windows 平台之下一样运行 F#程序。Microsoft 的 F#项目经理 David Stephens 先生在 Build 2016 大会上向大家介绍了如何在Linux 以及Mac OS X 启用F#

第一步需要安装.NET Core 工具。这一步对于C#和F#来说是相同的,这个工具是专属于.NET 而不是其他特定语言的。

一个基础的F#项目需要使用以下CLI 指令创建:

复制代码
dotnet new –lang f#

生成的项目文件是一个 Json 文件,该文件依照 NuGet 3 中引入的最新的项目文件格式。一个最新创建的 F#项目的 project.json 文件中包含了编译运行一个程序的基本依赖:

复制代码
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"compilerName": "fsc",
"compileFiles": [
"Program.fs"
],
"dependencies": {
"Microsoft.FSharp.Core.netcore": "1.0.0-alpha-151221",
"NETStandard.Library": "1.0.0-rc2-23811"
},
"frameworks": {
"dnxcore50": { }
}
}

在项目创建时并不包含依赖集。在执行程序之前唯一要做的一步是恢复它们:

复制代码
dotnet restore
dotnet run

以上所介绍的步骤是在 .NET Core 上编译运行一个 F#程序所需的最基础的步骤。跨平台 IDEs Visual Studio Code 和 Atom 通过开源扩展 Ionide 提供了对 F#的支持。此外,一些常用的 IDE 功能,比如说 autocompletion 和 Ionide 包括了:

值得注意的是,在运行 F#项目的同时,.Net CLI 和.Net Core 在运作,移植库到 .Net Core 中的工作也在运作。

查看英文原文 Getting Started with F# on Linux and Mac OS X


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-04-29 19:002120
用户头像

发布了 218 篇内容, 共 67.4 次阅读, 收获喜欢 76 次。

关注

评论

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

5分钟搭建图片压缩应用

华为云开发者联盟

云计算 后端 华为云 函数工作流

元器件科普|变压器的分类及形状构造

元器件秋姐

元器件采购 华秋商城 变压器 电感器 电压

通过实战总结的 使用Go的小技巧

王中阳Go

Go golang 高效工作 学习方法 11月月更

2022年中国电商平台市场洞察

易观分析

电商 报告

SpringBoot之用拦截器避免重复请求

okokabcd

Spring Boot

度量BGP监测源数量对AS可见性的影响

郑州埃文科技

AS IP地址 BGP数据源

Bigkey问题的解决思路与方式探索

vivo互联网技术

redis dba bigkey

OpenHarmony 3.2 Beta多媒体系列——音视频播放框架

OpenHarmony开发者

OpenHarmony

算法题学习---删除有序链表中重复的元素-II

桑榆

算法题 11月月更

【web 开发基础】PHP 变量的作用范围 (29)

迷彩

作用域 静态变量 全局变量 局部变量 11月月更

信用卡评测系列——阳光惠生活APP深化服务客户品牌理念,焕新升级7.0版

易观分析

金融 银行 信用卡

Go定时任务源码 - robfig/cron

人生如梦

Go 定时任务 cron

不懂Hybird开发,感觉错过一个亿~

FinFish

小程序 前端框架 APP开发 APP软件开发、 混合开发

深度解析KubeEdge EdgeMesh 高可用架构

华为云开发者联盟

云计算 云原生 后端 华为云

基于Spring-AOP的自定义分片工具

京东科技开发者

aop 数据分片 spring aop 配置文件

【Ajax进阶】跨域和JSONP的学习

坚毅的小解同志

ajax 11月月更

解决数据分析落地难的几点经验

穿过生命散发芬芳

数据分析 11月月更

【愚公系列】2022年11月 微信小程序-应用生命周期和全局变量

愚公搬代码

11月月更

基于鸿蒙系统的ArkUI框架的公共剪切类属性和多态样式在前后端分离项目中的表现

恒山其若陋兮

11月月更

计算机网络:数据链路层设备

timerring

计算机网络 11月月更 网桥

传输线路动态巡检探索

鲸品堂

网络 传输网络

【Ajax】如何通过axios发起Ajax请求

坚毅的小解同志

ajax 11月月更

鸿蒙系统ARKUI框架对于分布式计算和请求API的实战研究

恒山其若陋兮

前端 11月月更

ArkUI框架基于鸿蒙系统的Scroll和Scroller和自定义组件之插槽的实战案例心得

恒山其若陋兮

前端 11月月更

“如何实现高效的应用交付”鲁班会开发者训练营厦门站进行时

华为云开发者联盟

云计算 软件开发 华为云 应用集成

【Ajax】全面了解http协议

坚毅的小解同志

HTTP 11月月更

【Ajax】如何通过axios发起Ajax请求

坚毅的小解同志

ajax 11月月更

API安全设计5A原则

阿泽🧸

11月月更 API安全

大模型狂欢背后:AI基础设施的“老化”与改造工程

OneFlow

人工智能 深度学习 大模型

提升80%上云集成效率, TA是如何做到的

华为云开发者联盟

云计算 后端 华为云 云集成

一个宁静祥和没有bug的下午和SqlSession的故事

京东科技开发者

mybatis sql Spring Boot CLI SQLSession

在Linux以及Mac OS X启用F#_.NET_Pierre-Luc Maheu_InfoQ精选文章