gpt4 book ai didi

powershell - 默认情况下强制所有函数的参数

转载 作者:行者123 更新时间:2023-12-03 14:32:10 26 4
gpt4 key购买 nike

TIL 所有函数的参数默认都是可选的。

function f([int] $x) {
if (!$x) {
echo "Why so null?"
}
}

f

等等!被遗忘的 $x争论就变成了 $null
> .\script.ps1
Why so null?

对于 $x为强制性,其声明需要更新为 [parameter(Mandatory=$true)][int] $x ,如果有一个或两个以上的参数,这似乎不是一个合理的解决方案。将此行为作为默认行为会很好,否则包含大量函数的庞大代码库看起来有点冗长并且属性过度饱和。

乍一看, Set-StrictMode听起来像一个神奇的词,它应该默认强制所有函数的参数,但不幸的是它不会以这种方式运行。

使作用域内的所有函数参数成为强制性的最佳实践是什么?

最佳答案

最佳做法是将所有强制参数标记为强制参数。

对于 PowerShell,必须明确指定所有必需参数,否则它们将被视为可选参数,此时不存在全部捕获。

您可以在 PowerShell 参数属性 here 上找到更多信息.

关于powershell - 默认情况下强制所有函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32187066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com