写点什么

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

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

关注

评论

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

Flutter库推荐Sizer 可帮助您轻松创建响应式 UI

坚果

6月月更

【愚公系列】2022年06月 面向对象设计原则(七)-迪米特法则

愚公搬代码

6月月更

InfoQ 极客传媒 15 周年庆征文|ZooKeeper进阶(一):Zookeeper简介

No Silver Bullet

zookeeper 运维 6月月更 InfoQ极客传媒15周年庆

vivo大规模 Kubernetes 集群自动化运维实践

vivo互联网技术

Kubernetes operator ansible kubeadm Kubevirt

数据库每日一题---第10天:组合两个表

知心宝贝

前端 后端 6月月更

flutter系列之:flutter中常用的GridView layout详解

程序那些事

flutter 程序那些事 6月月更

C#入门系列(十三) -- 初识结构体

陈言必行

C# 6月月更

【Python技能树共建】selenium入手篇

梦想橡皮擦

Python 6月月更

【Python技能树共建】文件模块

梦想橡皮擦

Python 6月月更

Linux开发_介绍BMP图片上下翻转、添加水印

DS小龙哥

6月月更

『Three.js』场景 Scene

德育处主任

canvas three.js 6月月更

数组

Jason199

数组 js 数组操作 6月月更

设计消息队列存储信息数据的MySQL表结构

dan629xy

应用最广泛的动态路由协议:OSPF

wljslmz

OSPF 动态路由 6月月更

Springboot 升级到 2.6.1 的坑

Damon

微服务 微服务架构 Spring Cloud 6月月更

M_8:设计消息队列存储消息数据的 MySQL 表格

Jadedev

架构训练营

MySql索引

工程师日月

6月月更

【建议收藏】通俗易懂图解网络知识-第一篇

利志分享

linux环境下实现银行间算法

乌龟哥哥

6月月更

设计消息队列存储消息数据的 MySQL 表格

踩着太阳看日出

架构训练营

【Java Web系列】Cookie工作流程及基本使用

倔强的牛角

Java javaWeb Cookie 6月月更

深入剖析 | 应用层Protocol的标准设计

九叔(高翔龙)

架构 协议 TCP/IP dubbo源码 粘包/拆包

JavaScrip模块模式

大熊G

JavaScript 前端 6月月更

ConcurrentHashMap 源码分析-初始化

zarmnosaj

6月月更

InfoQ 极客传媒 15 周年庆征文|简述构建微服务架构的四大挑战

阿泽🧸

微服务 6月月更 InfoQ极客传媒15周年庆

细数攻防演练中十大关键防守点

穿过生命散发芬芳

6月月更 攻防演练

在 Golang 中构建 CRUD 应用程序

宇宙之一粟

6月月更

spring4.1.8扩展实战之二:Aware接口揭秘

程序员欣宸

Java spring Spring Framework 6月月更

FFmpeg原理

Loken

ffmpeg 音视频课程

iShot

IT蜗壳-Tango

6月日更 6月月更

前端之uni-app研究学习day_1

恒山其若陋兮

6月月更

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