使用交换方式编译首个F#程序
2010-07-21 14:22
162 查看
介绍
在这篇文章中我们将使用交换模式编译第一个
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 下载最新版本。你首先必须安
装
.NET
2.0
或更高版本在安装
F#
。一旦你安装了
F#
在你的程序菜单中会如图显示“
F# Interactive Console
”。
图
: - F# Interactive console
这是学习
F#
必须的。让我们开始吧。
F#
执行模式类型
F#有两种执行模式:
完全编译成
.NET
代码(使用“
C:/Program
Files/FSharp-1.9.2.9/bidn
”下的
fsc.exe
)。
另一种是交换模式(使用“
C:/Program
Files/FSharp-1.9.2.9/bidn
”下的
fsi.exe
)。
写第一个程序
因此,让我们开始尝试使用
F#
交换模
式编写第一个程序。一段时间以来我们将使用
F#
交换模式,因此我们要理解一些概念。因此,点击微软研究所的一个
F#
交换式控制台应用程序。你这样做了会
看见一个如下图“
F# Interactive Console
”的屏幕。图中箭头显示的位置用来输入
F#
命令。所有
F#
命令以“
;;
”(双分号)结束;
图
: -
F# Interactive console.
让我们输入我第一个程
序。下图演示一个简单的程序设置字符串的值并显示在屏幕上。我们对命令进行编号,通过编号让我们理解每个命令。
图
: -
你的第一个程序
1
和
2 –
“
let
”关键字绑定标识符(在这个例子中是“
x
”)具有值“
Shiv
”。命令以“
;;
”结束,输入回车后将看到“
val x
: string
”。这个信息是
F#
编译器提供的,我们可以看到声明了一
个变量“
x
”
是
string
类
型。这是编译器评估数据类型。你可能注意到在
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#
需要严格的定义告诉我们的函数将有值返回。
相关文章推荐
- VS下如何配置才能使用 cl 命令行方式编译 C/C++ 程序
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- vs2012下mfc程序通过ado方式使用access数据库编译的程序在xp底下无法使用解决方法
- C程序中交换两个变量数值,不使用第三方变量(四种方式)
- 模拟Linux命令行方式在Windows下编译C/C++程序(使用VS编译器)
- 命令行下面使用MAKEFILE方式编译OPENCV程序
- android开发(26) 和其他应用交换数据方式一,使用intent指定自定义action调用其他程序里的activity,并获得其返回的结果
- pkg-config工具包程序编译中的使用
- 使用Eclipse编译ActiveBPEL引擎4.0源程序
- 使用appium在android7.0真机上测试程序时报错command failed shell "ps 'uiautomator'"的解决方式
- 在 Visual Studio 中使用 mdk 编译 ARM 程序
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库。
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题
- VS2012中使用编译的Qt-5.1.1静态库开发程序
- Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式
- 学习使用AutoMake1.9的自动生成工程文件(二)——flat型程序编译实践过程
- 如何使用Eclipse编译C,C++,JAVA程序
- VS2012中使用编译的Qt-5.1.1静态库开发程序