Schreiben Sie ein Programm, das die Ausgabe von analysiert uptime
und einen anatomisch anregenden Fortschrittsbalken (wie abgebildet) mit einer Länge erzeugt, die der aktuellen Betriebszeit in Tagen entspricht:
$ uptime
23:01 up 34 days, 7:30, 5 users, load averages: 0.23 0.27 0.24
$ uptime|<command>
8==================================D
(34 Tage = 34 Gleichheitszeichen)
Kürzeste Antwort gewinnt.
Antworten:
Rubin, 39
Keine Eingabe erforderlich (durch Ausschälen):
Oder von Standard (40 Zeichen):
quelle
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
#trueBash, 71 Zeichen
Ich bin nicht so sehr damit beschäftigt, meine
Gen-Uptimes im Internet zu veröffentlichen, also male ich stattdessen einen Zaun. Es ist die gleiche Anzahl von Zeichen. Denken Sie daran,p
zwischen den Anrufen zurückzusetzen.Pure Bash, einschließlich 71 Zeichen
uptime
.Na ja, na ja, meine ist größer als deine.
quelle
Perl -
2624 ZeichenLief so:
edit : Nicht zitiertes 'D' - danke JB
quelle
Haskell, 88 Zeichen
Wie so oft bietet Haskell nicht die extremste Golffähigkeit einiger anderer Sprachen, erlaubt jedoch einen eleganten Ausdruck der mathematischen Strukturen, die dem Problem zugrunde liegen. Aufbauend auf ihrer wegweisenden Arbeit in diesem Bereich möchte ich eine Haskell-Implementierung des Holkins-Krahulik-Approximationsoperators vorstellen . Kurz gesagt, der Bediener ignoriert beide Eingaben und gibt eine durch die Wellenlänge parametrisierte Phallus-Druckfunktion zurück.
quelle
Perl, 17 Zeichen
Jetzt mit sagen:
Ausbeuten
war:
Ausbeuten
(Ich kann leider nicht "sagen")
quelle
57 Zeichen
quelle
35 Zeichen
so,
Bearbeiten : war
Edit 2 : Kommentar von JB (
\
statt verwenden''
)quelle
Windows PowerShell, 28
Mindestens
liefert die korrekte Ausgabe, sollte also in der Lage sein, die
uptime
Ausgabe zu verarbeiten. Ich kann es jedoch nicht testen, da GNUWin32 einen Fehler enthältuptime
, der versucht, aus einer nicht vorhandenen Datei zu lesen ist keine Datei, die die Startzeit unter Windows enthält).quelle
Common Lisp, 84 Zeichen
Dies übernimmt die Uptime-Zeichenfolge als Eingabe. Es scheint, dass es eine kürzere Lösung geben sollte, die eine Liste überschreibt, aber wenn ja, kann ich es nicht finden.
quelle
GolfScript (24 Zeichen)
Haskell (73 Zeichen)
C (131 Zeichen)
quelle
' '/3=~8\'='*'D'
PHP, 62 Zeichen
Es sind keine Eingaben erforderlich.
quelle
Python (42)
Hinweis: Python 3 wird zur Reduzierung der Gesamtzahl der Zeichen verwendet.
quelle
Python, 65 Bytes
Prüfung:
quelle
PHP, 61
quelle
Common Lisp, 57 Zeichen
(außer Implementierung / OS-spezifischer Shebang)
Basierend auf dem Versuch, den Wunsch von Dr. Pain nach einer kürzeren Schreibweise für eine wiederholte Figur zu erfüllen . Dieser kann wie in der Frage gezeigt in einer Pipeline verwendet werden.
(Die Formatzeichenfolge gibt an, dass die leere Zeichenfolge (zwischen
~<
und~>
) in einem durch ein Argument angegebenen Feld mit dem=
Zeichen aufgefüllt rechtsbündig ausgerichtet werden soll .)quelle
K, 35
.
quelle
Bash 67 Zeichen
Aufruf zum Brief der Aufgabe:
Viel kürzer
nur 54 Zeichen:
mit dieser variante:
Aufruf, nicht 100% in Übereinstimmung mit den Regeln:
Ausgabe in beiden Zeiten:
Nicht alltägliche Tricks:
liest 06: 29: 53 = t, up = u, 16 = d Rest ... = w
ohne w, alles bis zum Ende würde in $ d gesetzt.
expand wird normalerweise verwendet, um eine Registerkarte in eine Anzahl von Leerzeichen zu übersetzen, und verwendet einen Parameter, wenn Sie 8 nicht mögen.
Das Aufrufen des 3. Parameters mit $ 3 in
echo -e '\t'|expand -t $3|sed 's/ /=/g'
ist noch kürzer, erfordert jedoch einen Aufruf, der nicht den Worten der Regeln entspricht.quelle
Bash / Zenity 38 kurze Version, 68 längere Version
Die kurze Version endet nach $ d, je länger berücksichtigt wird, dass wir einen Maximalwert kennen und gerne hilfreichen Text haben:
quelle
Gema , 24 Zeichen
Probelauf:
quelle
AutoHotkey , 39 Bytes
Keine Eingabe. Das Ergebnis wird an das aktive Fenster gesendet.
Der eingebaute in
A_TickCount
ist die Anzahl der Millisekunden seit der Computer neu gestartet wurde.quelle