Я недавно обнаружил, что функции Powershell просто называются скрипт-блоками.Например,
function HelloWorld {
Write-Output "Hello world"
}
$hw = $function:HelloWorld
& $hw
Запустит метод HelloWorld.
Однако, что я не смог выяснить, так это как получить ссылку на метод, в имени которого есть тире:
function Hello-World {
Write-Output "Hello world"
}
$hw = $function:Hello-World
You must provide a value expression on the right-hand side of the '-' operator.
At line:1 char:27
+ $hw = $function:Hello- <<<< World
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
Есть идеи?
Я знаю, что могу сделать что-то вроде:
$hw = (Get-Item function:Hello-World).ScriptBlock
Но это немного "шумно", и мне нравится синтаксис $ function