以Visual Studio中入门F#

写以眼前的语句

个体出于有地方的志趣需要上
F#,网络及关于F#的汉语资料十分少,微软官方发死科学的文档,但是雅心疼的凡多方面的回都是英文的。个人是同样员.NET爱好者,想自己将
F# 的法定文档翻译下,算是为协调喜欢的 .NET 做片献。

 

原文链接

Getting started with F# in Visual
Studio

 

每当当下篇稿子被

  • 安装 F#
  • 创建一个控制台应用程序
  • 修而的代码
  • 运转而的代码
  • 使用 F# Interactive

在 Visual Studio IDE 中支持 F# 和 Visual
F#。在开前,如果您还从未下载 Visual
Studio
的言语,我们理应先下充斥她。本文使用 Visual Studio 2017 Community
版本,您当好据此而选择的本来使 F#。

 

安装 F#

倘您是率先不善下充斥 Visual Studio, 它以首先安装 visual studio
安装程序。从安装程序中安装任何版本的 Visual Studio
2017。如果已经安装了它们, 请单击 “修改“。
接下来将张工作负荷列表。您得通过以下无一做事负荷来安装 F#:

Workload Action
.NET desktop development Select F# language support from the right-hand side
ASP.NET and web development Select F# language support from the right-hand side
Data storage and processing Select F# language support from the right-hand side
Mobile development with .NET No action – F# is installed by default

终极, 单击右下方的 “修改“。这将设置您所选择的有内容。然后,
通过单击 “启动”, 就可以支持 F# 语言的 Visual Studio 2017 了。

 

缔造一个控制台程序

控制台应用程序是 Visual Studio 中最中心的花色之一。这里介绍如何创造它。
打开 Visual Studio :

  1. 在“文件”菜单下,选择“新建”,然后选取“项目”。
  2. 以新建项目对话框中,我们相应会以“模板”区域外观看 Visual
    F#。选择该项以显示F#的模板。
  3. 选择“确定”按钮创建 F#
    项目!你本该能够在“釜底抽薪方案资源管理器”中看看一个F#项目。

 

编辑而的代码

让咱们顿时开始写有代码吧。请确保该程序. fs 文件已经打开,
然后用以下内容替换其:

1 module HelloSquare
2 
3 let square x = x * x
4 
5 [<EntryPoint>]
6 let main argv =
7   printfn "%d squared is: %d!" 12 (square 12)
8   0 // Return an integer exit code

在眼前的代码示例中,定义了一个函数square,它需一个输入
x,然后拿其跟自我相乘。因为 F# 使用类推理,因此无需指定 x
的色。F# 编译器了解只是要乘法有效的型,并基于 square 被调用的景来吗
x 赋予合适的类别。如果你拿鼠标悬停在 square,你该力所能及来看如下内容:

1 val square: x:int -> int

即即是函数类型签名。它可以这样懂“square 是一个函数,它用输入一个平头
x,然后有一个平头”。请小心,编译器赋予当前底 square int
类型——这是盖并无是独具种类且能开展乘法操作,能够进行乘法操作的项目所做的集纳是一个封的集合。当前
F# 编译器选择 int,但是若你调用 square 再盛传一个两样门类的输入,例如
float,它以调整项目签名。

 

另一个概念之函数main,使用 EntryPoint
特性来告诉编译器应该从哪开实施顺序。它本和任何C语言风格的编程语言一样的约定,该函数可以接收命令行参数,会回去一个整数(通常也0)。

 

每当是函数中,我们调用 square 函数传参数 12。然后,F# 编译器将给
square 的门类也 int -> int(表示这样的一个函数,输入 int 后产生一个
int)。printfn
是一个格式化输出函数,它采取类似于C语言样式的编程语言的格式化字符串,传入的参数对应格式化字符串中指定的值,然后输出结果并新打一行。

 

运行而的代码

你可以由此按 ctrl-f5
来运作代码并查看结。这将运行程序要未进行调试,允许而查看结果。或者,
您得选择 Visual Studio 中之 “调试” 菜单项, 然后挑
开班如休开展调试“。

今昔, 您该看到 Visual
Studio 弹出之控制高窗口输出一下内容:

 

12 squared is 144!

 

恭喜你!您都于 Visual Studio 中开创了你的率先个 F#
项目,该品种编制了一个 F#
函数,您调用了该函数,并出口了该函数有的结果,最后运行了拖欠种并查看该结果。

 

 

使用 F# 交互式编程

在 Visual Sutdio 中,Visual F# 工具最好的一个功效就是 F# Interactive
窗口。它同意而将代码发送到一个历程,您可调用内的代码并交互式的查看结果。

 

万一开采用它,请选中定义平方函数的代码。接着,按停 Alt 键并以下
Enter。这将以  F# Interactive 窗口中实行实施代码。您该会顾 F#
Interactive 窗口被输出一下内容:

 

>

val square : x:int -> int

>

 

这与公将鼠标悬停到 square 上常显得有之函数签名相同。因为今 square
已经当 F# Interactive 窗口中受定义,你可流传不同之价值来调整用其:

 

> square 12;;

val it : int = 144

> square 13;;

val it : int = 169

 

及时将实施函数,并拿结果绑定到 it 上,并出示 it
的路和价值。注意,每行必需用 ;; 结束。这给 F# Interactive
知道何时就函数调用。您还得在 F# Interactive 中定义新的函数:

 

> let isOdd x = x % 2 <> 0;;

val isOdd : x:int -> bool

> isOdd 12;;

val it : bool = false

 

面定义了一个初的函数 isOdd,它承受一个 int
参数并检讨她是否也奇数!您可调用此函数以查看其于不同的输入下返回的始末。可以如下调用函数:

 

> isOdd (square 15);;

val it : bool = true

 

若也足以利用“管道转发”运算符将该值传入两单函数中:

 

> 15 |> square |> isOdd;; val it : bool = true