轨道
/
Rust
Rust
/
练习
/
流水线
流水线

流水线

学习练习

简介

数字

Rust 中有两类不同的数字:整数(可以是有符号或无符号)和浮点数。

整数

  • 整数:小数点后没有数字的数(即没有小数部分的数)。 整数类型既可以只存储正数(无符号),也可以同时存储正数和负数(有符号)。 例如 -6、0、1、25、976 和 500000。

浮点数

  • 浮点数:小数点后可以有零个或多个数字的数。 例如 -2.4、0.1、3.14、16.984025 和 1024.0。

数字类型的命名

数字类型的名称由两部分组成:

  • 一个字母,用来表示它是无符号整数(u)、有符号整数(i)还是浮点数(f)。
  • 一个数字,用来表示该类型的大小(以位为单位)。类型越大,最小值和最大值之间的范围就越大。 对于浮点数,它还能允许小数点后更多的数字。

以下组合都是可行的:

  • 8 位:u8、i8
  • 16 位:u16、i16
  • 32 位:u32、i32、f32
  • 64 位:u64、i64、f64
  • 128 位:u128、i128

注意,浮点数只有 32 位和 64 位两种变体。

数字类型之间的转换

Rust 不会进行任何隐式类型转换。 这意味着,如果你需要把一种数字类型转换成另一种,就必须显式地进行转换。 从较大的类型转换为较小的类型时(例如从 u64 转换为 u32),可能会丢失数据。 把浮点数转换为整数会丢失小数点后的所有内容,实际上就是向下取整。

说明

在本练习中,你将编写代码来分析汽车工厂里装配线的生产情况。装配线的速度范围从 0(关闭)到 10(最大)。

在最低速度(1)下,每小时生产 221 辆汽车。产量随速度线性增长。因此当速度设为 4 时,每小时应生产 4 * 221 = 884 辆汽车。不过,速度越高,生产出故障汽车的可能性就越大,这些故障汽车随后必须报废。下表展示了速度如何影响成功率:

  • 1到4:成功率 100%。
  • 5到8:成功率 90%。
  • 9和10:成功率 77%。

你有两个任务。

1. 计算每小时的生产率

实现一个方法,计算装配线每小时的生产率,并考虑它的成功率:

assembly_line::production_rate_per_hour(6)
// Returns: 1193.4

注意,返回的值是f64。

2. 计算每分钟生产的合格品数量

实现一个方法,计算每分钟生产多少辆合格汽车:

assembly_line::working_items_per_minute(6)
// Returns: 19

注意,返回的值是u32。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Rust Exercism

准备好开始 流水线 了吗?

注册 Exercism,借助 99 个练习 和真人导师指导,学习并掌握 Rust,全部免费。