99 бутылок: Postscript

62. Postscript — интерпретируемый стековый язык программирования. Предназначен для стандартизации вывода документов на различные устройства.

Люди на нём программы пишут крайне редко, в основном это делают другие программы — например, при печати на принтер. Этот же язык программирования используется внутри формата PDF.

Язык строго типизирован, система типов включает: целые числа, числа с плавающей запятой, логический тип, строку, массив, процедуру, словарь и имя. Для всех операций используется стек и обратная польская запись.

%!
%%Title: (Beer song)
%%Creator: Evgeny Stepanischev
%%EndComments

/beer % (int) -> (int)
{
	dup 0 eq {
		(no bottles) print
	} {
		dup 1 eq {
			(1 bottle) print
		} {
			dup //=string cvs print ( bottles) print
		} ifelse
	} ifelse
} bind def

99 -1 1 {
	beer ( of beer on the wall, ) print beer (\n) print
	(Take one down and pass it around, ) print
	dup 1 sub beer pop
	( of beer on the wall.\n\n) print
} for

(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.) print

quit
Поделиться
Отправить
5 комментариев
aktuba

Еще чуть-чуть и догонишь http://rosettacode.org/wiki/99_Bottles_of_Beer ))

Евгений Степанищев

Очень долго догонять придётся :)

hshhhhh.name

А куда пропало меню слева? :)

hshhhhh.name

Очень долго догонять придётся :)

Бесконечно долго, только 2 заметки: http://bolknote.ru/tags/beer99/

Евгений Степанищев

А куда пропало меню слева? :)

Выбранный движок не поддерживает параллельные блоги, думаю как это исправлять. Для «пива» придумал — проставлю везде тег «99», заведу всё недостающее в виде отдельных заметок, но пока только начал, поэтому заметок лишь две.

Популярное