2014-01-22 20 views
0

這看起來很小巧,但我正在編寫一個PowerShell腳本,它將向用戶寫入一封電子郵件,並且它將引用從變量($ DaysLeft)中剩餘的一些「天數」。PowerShell的CASE/DECODE風格命令?

爲了得到這個gramatically正確的(在「天」 /「天」而言),我可以(在Oracle SQL)使用DECODE函數,即:

DaysLeft ||' day'||DECODE(DaysLeft, 1, '', 's')||' Remaining' 

很明顯,你可以做類似的事情CASE,而且那會很令人滿意。

我在想,如果PowerShell有一個類似的自包含塊,我可以用於此目的。我顯然可以用IF-ELSE塊定義一個變量,但我希望有一種更有效的方法!

我看到了SWITCH命令的一些例子,但這似乎並不是我在......之後......或者它是什麼?

謝謝!

回答

0

你可以使用一個開關這樣的:

$numdays = 1 
$phrase = switch ($numdays){1 {'is 1 day'};default {"are $_ days"}} 
"There $phrase remaining." 
+0

的開關是如何工作的完美解釋 - 謝謝! – echelpin