数组初始化在powershell中的工作方式不同
$scripts = @(
("01", "a" , "01_Cleanup")
,("02", "b" , "02_Cleanup")
);
Run Code Online (Sandbox Code Playgroud)
输出:
$scripts[0] - "01"
$scripts[1] - "a"
$scripts[2] - "01_Cleanup"
$scripts[3] - "02"
"b"
"02_Cleanup"
Run Code Online (Sandbox Code Playgroud)
请注意数组初始化中的",":
$scripts = @(
("01", "a" , "01_Cleanup"),
("02", "b" , "02_Cleanup")
);
Run Code Online (Sandbox Code Playgroud)
输出:
$scripts[0] - "01"
"a"
"01_Cleanup"
$scripts[1] - "02"
"b"
"02_Cleanup"
Run Code Online (Sandbox Code Playgroud)
为什么?
它是因为逗号运算符的不同用法(二元与一元):
作为二元运算符,逗号创建一个数组.作为一元运算符,逗号创建一个包含一个成员的数组.将逗号放在成员之前.
二进制:
@(
("01", "a" , "01_Cleanup"),
("02", "b" , "02_Cleanup")
) | foreach { Write-Host $_};
Run Code Online (Sandbox Code Playgroud)
输出:
01 a 01_Cleanup
02 b 02_Cleanup
Run Code Online (Sandbox Code Playgroud)
一元:
@(
("01", "a" , "01_Cleanup")
,("02", "b" , "02_Cleanup")
) | foreach { Write-Host $_};
Run Code Online (Sandbox Code Playgroud)
输出:
01
a
01_Cleanup
02 b 02_Cleanup
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |