Имитация cowsay
в режиме по умолчанию.
$ cowsay <<< Hello
_______
< Hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
$ perl -e 'print "Long text "x20' | cowsay
__________________________________________
/ Long text Long text Long text Long text \
| Long text Long text Long text Long text |
| Long text Long text Long text Long text |
| Long text Long text Long text Long text |
\ Long text Long text Long text Long text /
------------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Насколько коротким может быть код? Корова и воздушный шар могут немного отличаться, но все элементы должны присутствовать. Динамический / многострочный шар является плюсом.
Явный список обязательных элементов:
- Текст;
- Баллон;
- Линия от коровы до воздушного шара;
- Корова (глаз, месяц, уши, тело, ноги (минимум два), вымя, хвост).
/usr/share/cowsay/cows/
может быть доступен, но, очевидно, не /usr/games/cowsay
сам.
Примечание: вот /usr/share/cowsay/cows/default.cow
файл:
$the_cow = <<"EOC";
$thoughts ^__^
$thoughts ($eyes)\\_______
(__)\\ )\\/\\
$tongue ||----w |
|| ||
EOC
Использование файла не является обязательным. При использовании он должен быть доступен по полному пути. (Пользователи Windows могут скопировать его на что-то вроде C:\usr\share\cowsay\co\default.cow
, для справедливости).
Ответы:
Mathematica: работа в процессе
Я свяжу шар, как только смогу заставить корову осесть:
источник
Perl, 84 персонажа
Выход:
По общему признанию, я играю в гольф корову так же, как я играю в гольф код. Но корова Mathematica все равно победит :)
Примечание. Требуется Perl 5.16 для
/r
флага неразрушающего замещения.источник
r
послеs///
? Не могу найти такой флаг в документации. Спасибо.r
флаг возвращает результат вместо изменения операнда на месте (<>
конечно, только для чтения и не может быть изменен).line-height: 1.4em
набор для кодовых блоков, но в терминале он выглядит лучше.Рубин:
152150149146143 символовИскусство коровы читается из файла default.cow и оформляется в стиле после 12 раундов против Майка-Тайсона, аналогично
cowthink -e 'o*' -T 'U~'
вызову.Текст читается со стандартного ввода и не более 40 символов. Разрывы строк во входном тексте не поддерживаются.
Образец прогона:
С художественным изгибом:
138135136 символовПоскольку элементы должны просто присутствовать, мы можем использовать то, что имеем, вместо определения реалистичных.
Образец прогона:
источник
К, 178
,
источник
APL
133 140 138122Этот один вкладыш принимает экранный ввод в виде символьного вектора или массива, заключенного в кавычки через: ← ⍎⍞ Внешний вид вывода улучшается за счет включения начальных и следующих пробелов во входных данных.
Расположение символов коровы в каждой строке массива задается как 19-битные логические векторы.
Чтобы использовать ввод, один вкладыш, за которым следует пузырьковый текст в кавычках:
Многострочный текст вводится как массив.
Эта версия может быть протестирована через бесплатный переводчик APL на www.nars2000.org
источник
apt-get install
для запуска APL ... * /