一般コード
次のコードを検討してください。
PS> function Test { param($p='default value') $PsBoundParameters }
PS> Test 'some value'
Key Value
--- -----
p some value
PS> Test
# nothing
どちらの場合も変数の$PsBoundParameters
レコードが含まれると思います。$p
それは正しい行動ですか?
質問
多くの機能で次のように機能するスプラッティングを使用したいと思います。
function SomeFuncWithManyRequiredParams {
param(
[Parameter(Mandatory=$true)][string]$p1,
[Parameter(Mandatory=$true)][string]$p2,
[Parameter(Mandatory=$true)][string]$p3,
...other parameters
)
...
}
function SimplifiedFuncWithDefaultValues {
param(
[Parameter(Mandatory=$false)][string]$p1='default for p1',
[Parameter(Mandatory=$false)][string]$p2='default for p2',
[Parameter(Mandatory=$false)][string]$p3='default for p3',
...other parameters
)
SomeFuncWithManyRequiredParams @PsBoundParameters
}
列挙されたすべてのパラメーターで SomeFuncWithManyRequiredParams を呼び出したくありません。
SomeFuncWithManyRequiredParams -p1 $p1 -p2 $p2 -p3 $p3 ...
出来ますか?