Skip to content

Commit b68dfda

Browse files
committed
doc(array): fix wangdoc#30
1 parent 77edfbc commit b68dfda

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

docs/array.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ a b d e f
332332
333333
上面例子中,删除了数组中的第三个元素,下标为2。
334334
335-
删除成员也可以将这个成员设为空值
335+
将某个成员设为空值,可以从返回值中“隐藏”这个成员
336336
337337
```bash
338338
$ foo=(a b c d e f)
@@ -341,17 +341,30 @@ $ echo ${foo[@]}
341341
a c d e f
342342
```
343343
344-
上面例子中,将数组的第二个成员设为空字符串,就删除了这个成员
344+
上面例子中,将数组的第二个成员设为空字符串,数组的返回值中,这个成员就“隐藏”了
345345
346-
由于空值就是空字符串,所以下面这样写也可以,但是不建议这种写法。
346+
注意,这里是“隐藏”,而不是删除,因为这个成员仍然存在,只是值变成了空值。
347+
348+
```bash
349+
$ foo=(a b c d e f)
350+
$ foo[1]=''
351+
$ echo ${#foo[@]}
352+
6
353+
$ echo ${!foo[@]}
354+
0 1 2 3 4 5
355+
```
356+
357+
上面代码中,第二个成员设为空值后,数组仍然包含6个成员。
358+
359+
由于空值就是空字符串,所以下面这样写也有隐藏效果,但是不建议这种写法。
347360
348361
```bash
349362
$ foo[1]=
350363
```
351364
352-
上面的写法也相当于删除了数组的第二个成员
365+
上面的写法也相当于“隐藏”了数组的第二个成员
353366
354-
直接将数组变量赋值为空字符串,相当于删除数组的第一个成员
367+
直接将数组变量赋值为空字符串,相当于“隐藏”数组的第一个成员
355368
356369
```bash
357370
$ foo=(a b c d e f)
@@ -360,7 +373,7 @@ $ echo ${foo[@]}
360373
b c d e f
361374
```
362375
363-
上面的写法相当于删除了数组的第一个成员
376+
上面的写法相当于“隐藏”了数组的第一个成员
364377
365378
`unset ArrayName`可以清空整个数组。
366379

0 commit comments

Comments
 (0)