dize

2016-04-12 25 views
1

ben PowerShell içinde benim boolean değerlerini dönüştürmek için çalışıyorum için Boole Değerini dönüştürme aşağıdadır: Burada dize

bu benim alakalı kodudur

  • Gerçek → YEŞİL
  • Yanlış → KIRMIZI

    $SecMasSQLRes | ForEach-Object { 
        if ($SecMasSQLRes.CusipPercent -lt 25) { 
         Write-Host CusipStatus = GREEN 
        } else { 
         Write-Host CusipStatus = RED 
        } 
    
        if ($SecMasSQLRes.ISINPercent -lt 10) { 
         Write-Host IsinStatus = GREEN 
        } else { 
         Write-Host IsinStatus = RED 
        } 
    
        if ($SecMasSQLRes.SymbolPercent -lt 10) { 
         Write-Host SymbolStatus = GREEN 
        } else { 
         Write-Host SymbolStatus = RED 
        } 
    } 
    
    $CusipResults = $SecMasSQLRes.CusipPercent -lt 25 
    $IsinResults = $SecMasSQLRes.ISINPercent -lt 10 
    $SymbolResults = $SecMasSQLRes.SymbolPercent -lt 10 
    
    $CusipResults 
    $IsinResults 
    $SymbolResults 
    
+4

'$ değişken = if (koşul) {' YEŞİL '} else {' KIRMIZI '}' – PetSerAl

+2

'$ arama = @ {$ yanlış =' KIRMIZI '; $ true =' YEŞİL'}; $ lookup [$ MyBool] – TessellatingHeckler

+1

Golf'd: '@ ('KIRMIZI', 'YEŞİL') [$ bool]' –

cevap

0

Size nasıl yardımcı olabileceğinizin çeşitli yolları vardır.

if (condition) {'GREEN'} else {'RED'} 
  • kullan switch açıklama:

    switch (condition) { $true {'GREEN'} default {'RED'} } 
    
  • Kullanım @TessellatingHeckler önerdiği gibi bir hashtable ch bu: @PetSerAl önerdiği gibi

    • bir if/else deyimini kullanın:

      $light = @{$true = 'GREEN'; $false = 'RED'} 
      $light[(condition)] 
      
    • @Mathias R. Jessen önerdiği gibi bir dizi endeksi olarak (örtük tamsayılar için cast) boolean değerleri kullanın:

      @('RED', 'GREEN')[(condition)] 
      
    • Şahsen

    , ben hashtable yöntem en temiz yaklaşım olduğunu düşünüyorum, bu yüzden 'd tercih ettiklerini tek:

    $light = @{ 
        $true = 'GREEN' 
        $false = 'RED' 
    } 
    
    $SecMasSQLRes | ForEach-Object { 
        Write-Host CusipStatus = $light[($_.CusipPercent -lt 25)] 
        Write-Host IsinStatus = $light[($_.ISINPercent -lt 10)] 
        Write-Host SymbolStatus = $light[($_.SymbolPercent -lt 10)] 
    } 
    
  • +0

    Teşekkürler çocuklar, farklı bir rotaya gittim, ama kesinlikle bu önerileri deneyeceğim. – MrRobot