|
|
@ -10,7 +10,7 @@ for i in 0..v.len() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
我们的目的是创建一个无限增长的数组,往里面插入`0..`(看不懂该表达式的同学请查阅https://course.rs)的数值序列。
|
|
|
|
我们的目的是创建一个无限增长的数组,往里面插入`0..`(看不懂该表达式的同学请查阅[流程控制](https://course.rs/basic/flow-control.html))的数值序列。
|
|
|
|
|
|
|
|
|
|
|
|
看起来上面代码可以完成,因为随着数组不停增长,`v.len()`也会不停变大,但是事实上真的如此吗?
|
|
|
|
看起来上面代码可以完成,因为随着数组不停增长,`v.len()`也会不停变大,但是事实上真的如此吗?
|
|
|
|
|
|
|
|
|
|
|
@ -20,7 +20,7 @@ for i in 0..v.len() {
|
|
|
|
[1, 2, 3, 0, 1, 2]
|
|
|
|
[1, 2, 3, 0, 1, 2]
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
输出很清晰的表明,只新插入了三个元素:`0..=2`,刚好是`v`的初始长度。
|
|
|
|
输出很清晰的表明,只新插入了三个元素:`0..3`,刚好是`v`的初始长度。
|
|
|
|
|
|
|
|
|
|
|
|
这是因为:**在for循环中,`v.len`只会在循环伊始之时进行求值,之后就一直使用该值**。
|
|
|
|
这是因为:**在for循环中,`v.len`只会在循环伊始之时进行求值,之后就一直使用该值**。
|
|
|
|
|
|
|
|
|
|
|
|