Lambda Expression in Powershell

前端 未结 3 1150
忘了有多久
忘了有多久 2020-11-27 04:43

I have a code in C# which uses lambda expressions for delegate passing to a method. How can I achieve this in PowerShell. For example the following is a C# code:

<         


        
3条回答
  •  春和景丽
    2020-11-27 05:40

    In PowerShell 2.0 you can use a script block ({ some code here }) as delegate:

    $MatchEvaluator = 
    {  
      param($m) 
    
      if ($m.Groups["val"].Value -eq ";") 
      { 
        #... 
      }
    }
    
    $result = $r.Replace($input, $MatchEvaluator)
    

    Or directly in the method call:

    $result = $r.Replace($input, { param ($m) bla })
    

    Tip:

    You can use [regex] to convert a string to a regular expression:

    $r = [regex]"\((?[\,\!\;\:])\)"
    $r.Matches(...)
    

提交回复
热议问题