mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2025-03-12 18:20:32 +08:00
Update Ch14
This commit is contained in:
parent
9da71c4e51
commit
300be8ce4e
@ -3,4 +3,5 @@
|
||||
members = [
|
||||
"adder",
|
||||
"add_one",
|
||||
"add_two",
|
||||
]
|
||||
|
8
projects/add/add_two/Cargo.toml
Normal file
8
projects/add/add_two/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "add_two"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
25
projects/add/add_two/src/lib.rs
Normal file
25
projects/add/add_two/src/lib.rs
Normal file
@ -0,0 +1,25 @@
|
||||
/// 将一个整数加 2。
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// let num = 15;
|
||||
///
|
||||
/// let answer = add_two::add_two(num);
|
||||
/// assert_eq! (answer, 17);
|
||||
/// ```
|
||||
///
|
||||
pub fn add_two(num: i32) -> i32 {
|
||||
num + 2
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn it_works() {
|
||||
let result = add_two(7);
|
||||
assert_eq!(result, 9);
|
||||
}
|
||||
}
|
@ -7,4 +7,5 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
add_one = { path = "../add_one" }
|
||||
add_two = { path = "../add_two" }
|
||||
rand = "0.8.3"
|
||||
|
@ -1,6 +1,10 @@
|
||||
use add_one::add_one;
|
||||
use add_two::add_two;
|
||||
|
||||
fn main() {
|
||||
let num = 10;
|
||||
println!("你好,世界!\n\t{num} 加 1 为 {}!", add_one(num));
|
||||
println!("你好,世界!\n\t{num} 加 1 为 {},{num} 加 2 为 {}!",
|
||||
add_one(num),
|
||||
add_two(num)
|
||||
);
|
||||
}
|
||||
|
@ -736,7 +736,7 @@ mod tests {
|
||||
}
|
||||
```
|
||||
|
||||
此时请在顶层的 `add` 目录中运行 `cargo test`。在像这样组织起来的工作区中,运行 `cargo test`,就会运行工作区中所有代码箱的测试:
|
||||
现在请于顶层的 `add` 目录中运行 `cargo test`。在像这样组织起来的工作区中,运行 `cargo test`,就会运行工作区中所有代码箱的测试:
|
||||
|
||||
```console
|
||||
$ cargo test lennyp@vm-manjaro
|
||||
@ -787,13 +787,13 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; fini
|
||||
|
||||
```
|
||||
|
||||
此输出展示了只运行那个 `add_one` 代码箱测试,而未运行 `adder` 代码箱测试的 `cargo test`。
|
||||
此输出展示出,`cargo test` 只运行了 `add_one` 代码箱的测试,而未运行 `adder` 代码箱的测试。
|
||||
|
||||
在将工作区中的代码箱发布到 `crates.io` 时,工作区中的各个代码箱,则将需要被单独发布。与 `cargo test` 类似,可通过使用 `-p` 命令行标志,并指明打算发布的那个代码箱名字,发布工作区中的某个特定代码箱。
|
||||
若咱们把工作区中的代码箱发布到 `crates.io` ,工作区中的各个代码箱将需要被单独发布。与 `cargo test` 类似,咱们可通过使用 `-p` 命令行标志,并指明打算发布的代码箱名字,而发布工作区中的特定代码箱。
|
||||
|
||||
作为附加练习,请以与 `add_one` 代码箱类似方式,把 `add_two` 添加到这个工作区!
|
||||
|
||||
在项目日渐增长时,就要考虑使用工作区:相比于一大块代码,搞明白较小的、单独的组件,要容易一些。再者,把代码箱保持在一个工作区中,当工作区中的那些代码箱经常同时被修改时,就能令到他们之间的协作更容易。
|
||||
当咱们的项目日渐增长时,请考虑使用工作区:相比于一大块代码,要搞清楚较小的、单独的组件就更容易一些。再者,当代码箱经常同时被修改时,把这些代码箱保持在工作区中,就能令到他们之间的协作更容易。
|
||||
|
||||
|
||||
## 使用 `cargo install` 安装 Crates.io 上的二进制代码箱
|
||||
|
Loading…
Reference in New Issue
Block a user