65.9K
CodeProject 正在变化。 阅读更多。
Home

使用交互模式编译第一个 F# 程序

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.74/5 (18投票s)

2008年9月29日

CPOL

5分钟阅读

viewsIcon

42371

使用交互模式编译第一个 F# 程序

使用交互模式编译第一个 F# 程序

引言
 

在本教程中,我们将使用交互模式编译第一个 F# 程序。关于 F# 有很多讨论,我想着何不使用交互式 F# 模式来编译第一个程序呢。 

F# 的下载与安装
 

请注意,本教程使用的是 F# 编译器版本 1.9.2.9,您可以从 http://research.microsoft.com/research/downloads/details/52ba6040-6998-4de2-bfc6-f7a0f40c71e2/details.aspx 下载。 

您可以从 http://research.microsoft.com/fsharp/release.aspx 下载最新的 F# 编译器。  您需要先安装 .NET 2.0 或更高版本,然后安装 F#。安装完成后,您应该能在“程序”菜单中找到 F#,如图“F# 交互式控制台”所示。



 

图:- F# 交互式控制台
 

学习 F# 所需的知识就这些……那么,我们开始吧。
 

F# 的执行模式类型
 

F# 有两种执行模式:

• 完全编译为 .NET 代码(使用 fsc.exe,位于“C:\Program Files\FSharp-1.9.2.9\bin”)。
• 另一种是交互模式(使用 fsi.exe,也位于同一目录“C:\Program Files\FSharp-1.9.2.9\bin”)。
 

编写第一个程序
 

那么,让我们尝试使用 F# 交互模式编写第一个程序。在接下来的时间里,我们将使用 F# 交互模式,以便我们能掌握这些概念。因此,请点击“程序”->“Microsoft Research F#”->“F# 交互式控制台”。完成后,您将看到一个屏幕,如图“F# 交互式控制台”所示。图中的箭头指示了我们将输入 F# 命令的位置。所有 F# 命令都以“;;”(即双分号)结尾。
 

图:- F# 交互式控制台。
 

那么,让我们输入我们的第一个程序。下面的图显示了一个简单的程序,它设置一个字符串值并将其显示在屏幕上。我们已经为命令编号,让我们逐一理解每个命令。
 

图:- 您的第一个程序
 

1 和 2 – “let”关键字将一个标识符(在此例中为“x”)与值“Shiv”绑定。在命令后输入“;;”并按 Enter 后,您将看到“Val x : string”。这是 F# 编译器提供的信息,说明我已经将您的变量“x”声明为字符串。简而言之,编译器会评估类型。如果您注意到,在 C# 和 VB.NET 中,您需要定义变量的数据类型。下面的图“比较”显示了“let”关键字如何映射到 C#。“let”是 F# 中的声明关键字。
 

图:- 比较


3 和 4 – 在这个命令中,我们询问 F# 编译器关于变量“x”的信息。在第 4 行,我们可以看到编译器的回答“Val it: string = “Shiv””,这意味着“x”是字符串数据类型,值为“Shiv”。

5 – 在这里,我们使用 System.Console.WriteLine 来显示变量的数据。需要注意的一点是,“System”是 .NET 命名空间。总而言之,F# 可以无缝地使用 .NET 功能。
 

图:- F# 和 .NET
 

6 – 我们可以看到 F# 编译器回复显示“shiv”。
 

"Let" 声明语法
 

F# 中的“Let”关键字允许您声明变量和方法。下面的图“声明变量”显示了如何声明变量。需要注意的一个重要点是
我们不需要定义数据类型。F# 根据值来推断
声明是字符串还是整数。例如,当我们将
值“2”赋给它时,F# 识别其数据类型为整数,而当我们将字符串值“shiv”赋给它时,
它识别数据类型为字符串。
 

图:- 声明变量
 

注意:- 这些语法与您在普通编程中所做的略有不同。因此,学习 F# 的重要一点是要认识到它是一种全新的语言。如果您尝试将语法风格与旧的 C# 和 VB.NET 联系起来,我们确信您会迷失……所以,清空您的大脑,重新思考。
 

方法也使用“let”关键字声明。下面的图“比较 F# 和 C#
方法声明”显示了 F# 方法与 C# 方法的声明方式。例如,我们声明了一个名为“MyMethodIncrement”的方法,该方法接受一个
数值并将其加一。方法体跟在方法名之后
在 F# 中。没有像 C# 中的大括号。我们在 F# 方法中使用的任何变量
都将成为方法的输入参数。
 

图:- 比较 F# 和 C# 方法声明
 

现在,让我们逐步执行该方法,看看它是如何工作的。图“声明方法”显示了我们已经声明了方法并调用了它。让我们按编号顺序理解该图。
1:– 声明一个名为“MyMethodIncrement”的方法,其逻辑是将
值加一。
2:– 这是 F# 的优点,它通过算术计算识别出该方法
将返回一个整数。
3 和 4:– 在这里,我们调用我们的方法一次,给定值 2,它会加一并显示 3。然后我们再次调用,给定值 3,它会加一并显示 4。
 

图:- 声明方法
 

注意:- 如果您看到上述方法声明的优点,那就是 F# 通过查看算术计算就能识别出该函数将返回一个整数……而在 C# 中,我们需要明确指定我们的函数将返回什么。
 

进一步阅读,请观看下面的面试准备视频和分步视频系列。

© . All rights reserved.