我试图让我的脚本将数组设置为脚本的默认值,如果该值不作为我的脚本的参数给出,并且似乎有一些问题让Powershell理解它是一个数组.
我把params设置为:
param (
[string]$games = @('Subnautica', 'Gearcity')
)
Run Code Online (Sandbox Code Playgroud)
问题似乎是$games现在获得字符串"Subnautica Gearcity"的价值.至少那是变量的输出.逗号似乎消失了,因此在尝试使用时遍历数组也是如此foreach ( $game in $games ) { random jabber }.
Zer*_*ent 11
发生这种情况的原因是你已经指定你的参数$games是一个字符串,你想要的是一个字符串数组:string[]所以你的代码变成:
param (
[string[]]$games = @('Subnautica', 'Gearcity')
)
Run Code Online (Sandbox Code Playgroud)
这一位:[string]$games强制你的变量成为一个字符串.要使它成为一个字符串数组,您需要添加[]到变量类型声明.
[string[]]$games = @('Subnautica', 'Gearcity')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3100 次 |
| 最近记录: |