mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2024-12-26 21:00:24 +08:00
Improve Ch13
This commit is contained in:
parent
a3156f4ccf
commit
c456a59179
@ -781,9 +781,9 @@ impl Config {
|
||||
|
||||
*清单 13-17:清单 12-23 中 `Config::build` 函数的重现*
|
||||
|
||||
当时,我们说不用担心低效的克隆调用,因为将来咱们会删除它们。好吧,现在是时候了!
|
||||
当时,我们说不用担心低效的克隆调用,因为将来咱们会移除它们。好吧,现在是时候了!
|
||||
|
||||
之所以这里需要 `clone` 方法,是由于这里在参数 `args` 中,有着由一些 `String` 元素构成的切片,而这个 `build` 函数并不拥有 `args`。为返回某个 `Config` 实例的所有权,那里就不得不克隆 `Config` 结构体的 `query` 与 `filename` 字段,如此该 `Config` 实例就能拥有他的这些值。
|
||||
咱们这里之所以需要 `clone` 方法,是由于在参数 `args` 中,咱们有一个 `String` 元素构成的切片,而 `build` 函数并不拥有 `args`。为返回 `Config` 实例的所有权,咱们不得不克隆 `Config` 结构体的 `query` 与 `filename` 字段,进而 `Config` 实例便可拥有他的值。
|
||||
|
||||
有了关于迭代器的新知识,那么就可以将这个 `build` 函数,修改为取得某个迭代器的所有权作为其参数,而不再是借用一个切片。与其使用对切片长度加以检查,以及所有进入到特定位置的那些代码,这里将运用迭代器功能。由于迭代器将访问到那些值,那么这样就将厘清这个 `Config::build` 函数,正在完成些什么事情。
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user