File tree Expand file tree Collapse file tree 1 file changed +19
-6
lines changed Expand file tree Collapse file tree 1 file changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -332,7 +332,7 @@ a b d e f
332
332
333
333
上面例子中,删除了数组中的第三个元素,下标为2。
334
334
335
- 删除成员也可以将这个成员设为空值 。
335
+ 将某个成员设为空值,可以从返回值中“隐藏”这个成员 。
336
336
337
337
` ` ` bash
338
338
$ foo=(a b c d e f)
@@ -341,17 +341,30 @@ $ echo ${foo[@]}
341
341
a c d e f
342
342
` ` `
343
343
344
- 上面例子中,将数组的第二个成员设为空字符串,就删除了这个成员 。
344
+ 上面例子中,将数组的第二个成员设为空字符串,数组的返回值中,这个成员就“隐藏”了 。
345
345
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
+ 由于空值就是空字符串,所以下面这样写也有隐藏效果,但是不建议这种写法。
347
360
348
361
` ` ` bash
349
362
$ foo[1]=
350
363
` ` `
351
364
352
- 上面的写法也相当于删除了数组的第二个成员 。
365
+ 上面的写法也相当于“隐藏”了数组的第二个成员 。
353
366
354
- 直接将数组变量赋值为空字符串,相当于删除数组的第一个成员 。
367
+ 直接将数组变量赋值为空字符串,相当于“隐藏”数组的第一个成员 。
355
368
356
369
` ` ` bash
357
370
$ foo=(a b c d e f)
@@ -360,7 +373,7 @@ $ echo ${foo[@]}
360
373
b c d e f
361
374
` ` `
362
375
363
- 上面的写法相当于删除了数组的第一个成员 。
376
+ 上面的写法相当于“隐藏”了数组的第一个成员 。
364
377
365
378
` unset ArrayName` 可以清空整个数组。
366
379
You can’t perform that action at this time.
0 commit comments