Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

99 бутылок: PowerShell

45. Windows Powershell. Наконец-то в Windows появился мощный, красивый язык командной строки. Язык построен на конвейерах, где по конвейеру передаётся не просто текст, а объекты. Особый интерес представляет интеграция с .NET Framework и WMI.

Язык просто изучается, имеет понятную структуру и широкие возможности. Я посмотрел первую версию языка, но уже доступна вторая версия оболочки.

Программа, выводящая песню о пиве (beer.ps1)

# Написал Евгений Степанищев aka BOLK

function bottles([int]$beer) {
    switch ($beer) {
        0       { "no bottles" }
        1       { "1 bottle" }
        default { "$beer bottles" }
    }
}

99..1 | ForEach-Object {
    $bottles = (bottles $_) + ' of beer'

    $bottles + ' on the wall, ' + $bottles + '.'
    'Take one down and pass it around, ' + (bottles($_-1)) + " of beer on the wall.`n"
}

'No more bottles of beer on the wall, no more bottles of beer. 
Go to the store and buy some more, 99 bottles of beer on the wall.'