Ric*_*olo 4 powershell function
如何使用带括号的powershell中的参数调用函数.
我有这个功能的例子
function Greet([string]$name , [int]$times)
{
for ([int]$i = 1; $i -le $times;$i++)
{
Write-Host Hiiii $name
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用Greet Ricardo 5或Greet "Ricardo" 5工作调用函数
.但是当我使用Greet ("Ricardo",5)或Greet("Ricardo" ; 5)它失败时.
怎么了?
Kei*_*ill 14
函数的行为类似于cmdlet.也就是说,你不要输入dir(c:\ temp).函数同样将参数作为空格分隔并像cmdlet一样,支持位置,命名和可选参数,例如:
Greet Recardo 5
Greet -times 5 -name Ricardo
Run Code Online (Sandbox Code Playgroud)
PowerShell使用()允许您指定表达式,如下所示:
function Greet([string[]]$names, [int]$times=5) {
foreach ($name in $names) {
1..$times | Foreach {"Hi $name"}
}
}
Greet Ricardo (1+4)
Great Ricardo # Note that $times defaults to 5
Run Code Online (Sandbox Code Playgroud)
您还可以使用逗号分隔列表指定数组,例如:
Greet Ricardo,Lucy,Ethyl (6-1)
Run Code Online (Sandbox Code Playgroud)
所以,当你在像通过("Ricardo",5)被评估为单个参数值,该值是包含两个元件的阵列"Ricardo"和5.那将被传递给$name参数,但是参数没有值$times.
您使用带括号的参数列表的唯一时间是调用.NET方法,例如:
"Hello World".Substring(6, 3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3249 次 |
| 最近记录: |