Expressão Lambda em Powershell
Eu tenho um código em c # que usa expressões lambda para delegar passando para um método. Como posso conseguir isso no PowerShell. Por exemplo, o seguinte é um código C #:
string input = "(,)(;)(:)(!)";
string pattern = @"\((?<val>[\,\!\;\:])\)";
var r = new Regex(pattern);
string result = r.Replace(input, m =>
{
if (m.Groups["val"].Value == ";") return "[1]";
else return "[0]";
});
Console.WriteLine(result);
E este é o script do PowerShell sem a expressão lambda no lugar:
$input = "(,)(;)(:)(!)";
$pattern = "\((?<val>[\,\!\;\:])\)";
$r = New-Object System.Text.RegularExpressions.Regex $pattern
$result = $r.Replace($input, "WHAT HERE?")
Write-Host $result
Nota: minha pergunta não é sobre como resolver esse problema de expressão regular. Eu só quero saber como passar uma expressão lambda para um método que recebe delegados no PowerShell.