在 Lua 5.2 及之前版本,所有数值都以双精度浮点格式表示。从 Lua 5.3 开始,Lua 语言为数值提供了两种选择:
- 被称为 integer 的 64 位整型
- 被称为 float 的双精度浮点类型
整型的引入是 Lua5.3 的一个重要标志。在精简 Lua 模式下(small lua),该模式使用 32 位整型和单精度浮点类型。
这篇文章将学习 Lua 的数值(number) 和字符串(string)类型。
在 Lua 5.2 及之前版本,所有数值都以双精度浮点格式表示。从 Lua 5.3 开始,Lua 语言为数值提供了两种选择:
整型的引入是 Lua5.3 的一个重要标志。在精简 Lua 模式下(small lua),该模式使用 32 位整型和单精度浮点类型。
这篇文章将学习 Lua 的数值(number) 和字符串(string)类型。
Lua 语言诞生于巴西的里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro,PUCRio)),其作者是 Roberto Ierusalimschy
、Waldemar Celes
、Luiz Henrique de Figueiredo
。Lua 在葡萄牙语中的含义是 月亮
。
这篇文章将介绍 Rust 中的一些高级特性,这些特性在一些特定的场景中非常有用,这些特性包括:
模式是 Rust 中一种用来匹配类型结构的特殊语法,将模式与 match 表达式或其他工具配合使用可以更好地控制程序流程。模式被用来与某个特定的值进行匹配。如果模式与值匹配成功,那么就可以在代码中使用这个值的某些部分。这篇文章将学习所有可以使用模式匹配的场景、不可失败模式与可失败模式之间的区别,以及代码中可能会出现的各种模式匹配语法。
面对对象编程(Object-Oriented Programming,OOP)是一种程序建模的方法。这篇文章会介绍一些形成了普遍共识的面对对象特性,并学习如何在 Rust 语言的习惯下实现这些特性。
安全且高效地处理并发编程是 Rust 的另一个主要目标。借助所有权和类型检查,许多并发问题可以在 Rust 中暴露为编译时错误而不是运行时错误。Rust 的这一特性称为 无畏并发
(fearless concurrency),无畏并发让你编写出没有诡异缺陷的代码,并且易于重构而不会引入新的缺陷。
指针是一个通用的概念,它指代那些包含内存地址的变量。Rust 中最常用的指针就是之前介绍过的 引用
。引用是用 &
符号表示的,会借用它所指向的值。引用除了指向数据之外没有任何其他功能,也没有任何开销,它是 Rust 中最常见的指针。而智能指针(smart pointer)则是一些数据结构,它们的行为类似于指针但是拥有额外的元数据和附件功能。Rust 标准库中不同的智能指针提供了比引用更为强大的功能。
目前我们只是使用了一些基础的 Cargo 特性来构建、运行以及测试代码,但是其实它还有相当多的其他功能,这篇文章将讨论这些更为高级的特性。
Rust 在设计过程中从许多现有语言和技术中获得启发,函数式编程
理念就是其中之一,它对 Rust 产生了非常显著的影响。常见的函数式风格编程中包括:将函数当做参数、将函数作为其他函数的返回值、将函数赋值给变量等等。闭包和迭代器是 Rust 受函数式编程语言启发而实现的功能,它们帮助 Rust 在清晰地表达出高层次抽象概念的同时兼顾底层性能。
这里将开发一个能够和文件系统交互并处理命令行输入、输出的工具。Rust 非常适合编写命令行工具,因为它具有快速、安全、跨平台以及产出物为单一二进制文件的特点。