【PL理论】(2) 快速了解 F#:为什么学 F# | 环境安装 | 函数式编程语言 | dotnet new 创建 | dotnet build -o out 编译 | ./out/ 运行
为了方便下面继续展开PL 的学习,我们不得不介绍一下 F# 语言。这是微软搞得一个函数式编程语言,读 F sharp 就行,是不是很想 C#?建议再出一个 K#,这样的话就可以集齐 KFC 编程全家桶了,对了今天是疯狂星期四,可不可以 v 我 50 我要吃 KFC?
C++ 表情包趣味教程 👉 《C++要笑着学》![]()

💭 写在前面:为了方便下面继续展开 PL 的学习,我们不得不介绍一下 F# 语言。这是微软搞得一个函数式编程语言,读 F sharp 就行,是不是很想 C#?建议再出一个 K#,这样的话就可以集齐 KFC 编程全家桶了,对了今天是疯狂星期四,可不可以 v 我 50 我要吃 KFC?

Ⅰ. 简单了解下 F#
0x00 为什么学 F#?
F# 是由微软和 Visual Studio 开发的,Visual Studio 是 F# 程序员的优秀集成开发环境。
F# 具有许多有用的功能来处理编程语言,适用于编写处理程序的程序。例如:解释器、编译器、程序分析器等。F# 为您提供了一种全新的编程视角,与 C/C++ 或 Python 不同的编程范式。
当然,F# 不是一种完美的语言,在工业界使用速度慢且不受欢迎。不过,学习 F# 的体验还是不错的。
0x01 关于 F# 环境
首先,您需要安装 .NET Core SDK,因为 F# 是在 .NET 平台上运行的一种语言。您可以在 Microsoft 的官方网站上找到 .NET Core SDK 的安装程序。
🔗 链接:Install .NET on Windows, Linux, and macOS | Microsoft Learn
安装完成后,打开命令行界面(如命令提示符或终端窗口)。
输入以下命令来验证安装是否成功:
dotnet --version
如果安装成功,将会显示安装的 .NET Core SDK 的版本号。
当然我们也可以在宇宙第一编辑器 VS 上安装,因为 F# 就是由微软做的,属于是亲儿子。
0x02 F# 属于函数式编程语言
比如 C, C++, Python 这样的语言,编程就 "=" 要求计算机做什么。
例如:分配和释放内存,将特定值存储在内存空间中,操作分配在内存中的变量或对象。
int x = 10;
int y = x + 1;
Set *s = new Set(); // 存储整型的对象
s->add(y);
delete s;
而 F# 属于 函数式编程语言 (Functional programming language),像 OCaml, Scala, Haskell 这类的语言。编程 "=" 编写表达式来计算,这类似于数学描述。
专注于高层逻辑,而不关心 low-level 内部细节,比如如何使用内存来计算这些表达式
let x = 10
let y = x + 1
let s = Set.add y Set.empty (* s表示集合 { 11 } *)
Ⅱ. 直接上手试试
0x00 创建 F# 项目
项目是 F# 程序的最小单位,在大多数情况下,项目提供的项目骨架代码
你可以使用 dotnet new 命令创建项目
- *.fsproj:包含整个项目信息的文件
- *.fs:F# 源代码文件(您需要关注的唯一文件)
- obj/:包含各种构建文件的目录
命令如下,下面就是创建一个叫 HelloFSharp 的 F# 程序:
dotnet new console -lang "F#" -o HelloFSharp
输入完毕后稍等,工程就很好地创建出来了:

0x01 第一个 F# 程序

让我们在 Program.fs 中编写一些 F# 代码,在 F# 中,程序是一系列定义的序列 。
每一个定义都会依次计算,从顶部开始,整数值命名为 i,字符串值命名为 s...
有时,计算的值本身并不重要,我们使用 printfn 进行打印。
该函数仅返回一个 unit (类似于 C 中的 void ) ,我们不关心其返回值,所以就不给它命名了:
使用一个下划线即可,_ 表示我们不给该值任何名称。
let i = 1
let s = "F#"
let _ = printfn "%d %s" i s // Newline is appended
(* _ 表示我们不给该变量取名,匿名变量 *)
对了,注释用 // 或 (* *) 表示,这非常的 cool!具体操作如下:
① 假设你是用的 Linux 环境,那就vim 进去写一下,先 :ggdg 清空一下:

② 然后我们把相应的代码写一下:

③ 好了之后我们 :wq 退出。
0x02 编译 F# 程序
输入 dotnet build -o out 来构建项目,并将输出存储在 out/ 目录下。
$ dotnet build -o out
最终的编译输出将与项目名称相同(例如 HelloFSharp.fsproj)。
输入 ./out/HelloFSharp 来运行编译后的程序:
$ ./out/HelloFSharp

这就算编译好了,花了 3.82 秒,然后下面我们来运行一下看看:

没问题。

📌 [ 笔者 ] 王亦优
📃 [ 更新 ] 2024.3.26
❌ [ 勘误 ] /* 暂无 */
📜 [ 声明 ] 由于作者水平有限,本文有错误和不准确之处在所难免,
本人也很想知道这些错误,恳望读者批评指正!
|
📜 参考资料 C++reference[EB/OL]. []. http://www.cplusplus.com/reference/. Microsoft. MSDN(Microsoft Developer Network)[EB/OL]. []. . 百度百科[EB/OL]. []. https://baike.baidu.com/. 比特科技. C++[EB/OL]. 2021[2021.8.31]. |
更多推荐
所有评论(0)