Напишите программу, которая анализирует выходные данные uptime
и генерирует анатомически предположительный индикатор выполнения (как показано) с длиной, равной текущему времени безотказной работы в днях:
$ uptime
23:01 up 34 days, 7:30, 5 users, load averages: 0.23 0.27 0.24
$ uptime|<command>
8==================================D
(34 дня = 34 знака равенства)
Кратчайший ответ выигрывает.
Ответы:
Руби, 39
Не требуется ввод (обстрел):
Или из стандартного ввода (40 символов):
источник
gets=~/up (\d*)/;puts "8#{?=*$1.to_i}D"
'gets=~/up (\d*)/;puts "8#{"="*$1.to_i}D"'.length=="gets=~/up (\d*)/;puts '8'+'='*$1.to_i+'D'".length
#trueБаш, 71 символов
Я не так сильно выставляю свои
генераторныхuptimes в Интернете, поэтому я рисую забор вместо этого. Это то же количество символов. Подумайте о сбросеp
между вызовами.Pure Bash, 71 символов, включая
uptime
.Ну, хорошо, хорошо ... мой больше, чем твой.
источник
Perl -
2624 символаПобежал так:
редактировать : без кавычек финал 'D' - спасибо JB
источник
Haskell, 88 символов
Как это часто бывает, Haskell не предлагает наиболее экстремальных возможностей игры в гольф из некоторых других языков, но допускает элегантное выражение математических структур, лежащих в основе проблемы. Опираясь на их основополагающую работу в этой области, я намерен представить реализацию Haskell оператора Приближения Холкинса-Крахулика . Вкратце, оператор игнорирует оба своих ввода и возвращает функцию печати фаллосом, параметризованную длиной вала.
источник
Perl, 17 символов
Теперь скажем:
Урожайность
было:
Урожайность
(Я не могу "сказать", к сожалению)
источник
57 символов
источник
35 персонажей
так,
Изменить : было
Редактировать 2 : комментарий JB (используйте
\
вместо''
)источник
Windows PowerShell, 28
По крайней мере
дает правильный вывод, поэтому он должен иметь возможность обрабатывать
uptime
вывод. Однако я не могу протестировать, поскольку в GNUWin32 входит сломанныйuptime
файл, который пытается прочитать из несуществующего файла (Примечание для людей, портирующих инструменты Unix: не пытайтесь предположить, что Windows является Unix и придерживается тех же принципов или соглашений; нет файла, содержащего время загрузки в Windows).источник
Common Lisp, 84 персонажа
Это принимает строку uptime в качестве входных данных. Кажется, что должно быть более короткое решение, отображающее # ', пишите по списку, но если это так, я не могу придумать его.
источник
GolfScript (24 символа)
Haskell (73 символа)
C (131 символ)
источник
' '/3=~8\'='*'D'
PHP, 62 символа
Вход не требуется, он выкладывается.
источник
Python (42)
Примечание: Python 3 используется для уменьшения общего количества символов.
источник
Python, 65 байт
тестовое задание:
источник
PHP, 61
источник
Common Lisp, 57 символов
(исключая реализацию / специфичный для ОС шебанг)
На основании попытки удовлетворить ответ доктора Пэйна на более короткий путь написания повторяющегося символа. Этот можно использовать в конвейере, как показано в вопросе.
(Строка формата указывает выравнивание по правому краю пустой строки (между
~<
и~>
) в поле ширины, заданном аргументом, дополненном=
символом.)источник
К, 35
,
источник
Баш 67 символов
Призыв к письму о назначении:
Намного короче
всего 54 символа:
с этим вариантом:
вызов, не 100% в соответствии с правилами:
вывод в оба раза:
Не повседневные трюки:
читает 06: 29: 53 = t, up = u, 16 = d rest ... = w
без w, все до конца будет помещено в $ d.
Расширение обычно используется для перевода табуляции в количество пробелов и принимает параметр, если вам не нравится 8.
Захват 3-го параметра с $ 3
echo -e '\t'|expand -t $3|sed 's/ /=/g'
еще короче, но требует вызова, не подходящего под слова правил.источник
короткая версия bash / zenity 38, более длинная версия 68
Короткая версия заканчивается после $ d, тем дольше учитывается, что мы знаем максимальное значение и хотели бы получить полезный текст:
источник
Гема , 24 персонажа
Образец прогона:
источник
AutoHotkey , 39 байт
Нет ввода. Результат отправляется в активное окно.
Встроенная
A_TickCount
- это количество миллисекунд с момента перезагрузки компьютера.источник