Aus dem Handbuch
jq unterstützt dieselben Datentypen wie JSON - Zahlen, Strings, boolesche Werte, Arrays, Objekte (die im JSON-Jargon Hashes mit ausschließlich String-Schlüsseln sind) und "null".
Konzentrieren wir uns auf Zahlen.
Alle Zahlen, ob Ganzzahlen oder nicht, sind IEEE754-Gleitkommazahlen mit doppelter Genauigkeit. Das begrenzt uns auf 53 Bit Genauigkeit.
Für Zahlen stehen dir die üblichen Operatoren zur Verfügung:
Arithmetik: +, -, *, /, %
Vergleich: ==, !=, <, <=, >=, >
die üblichen Mathematikfunktionen
Bei Funktionen mit einem Eingabewert leitest du den Wert per Pipe in die Funktion
$ jq -n '(1 | atan) * 4'
3.141592653589793
Bei Funktionen mit zwei Eingabewerten ignorieren die Funktionen die Eingabe und erwarten die Eingabewerte als Parameter (zur Erinnerung: Parameter werden durch Semikolons getrennt)
$ jq -n 'pow(2; 10)'
1024
Das Semikolon ist das Trennzeichen für Funktionsargumente, nicht das Komma.
jq-AusdrückeUm die Übung zu lösen, musst du bedingte Ausdrücke kennen.
jq verwendet für bedingte Ausdrücke einen if-then-else-Ausdruck.
Als Ausdruck wird er in eine Pipeline gesetzt.
Die Syntax lautet: if CONDITION then TRUE_EXPR else FALSE_EXPR end.
Die else-Klausel ist optional.
42 | if . < 33 then "small" else "larger" end
# => "larger"
Zusätzliche Bedingungen verwendest du mit elif
42 | if . < 33 then "small"
elif . < 67 then "medium"
else "large"
end
# => "medium"
In dieser Übung schreibst du Code, um die Produktion am Fließband einer Autofabrik zu analysieren.
Die Geschwindigkeit des Fließbands reicht von 0 (aus) bis 10 (Maximum).
Bei der langsamsten Geschwindigkeit (1) werden 221 Autos pro Stunde produziert.
Die Produktion steigt linear mit der Geschwindigkeit.
Bei Geschwindigkeit 4 sollten also 4 * 221 = 884 Autos pro Stunde produziert werden.
Höhere Geschwindigkeiten erhöhen jedoch die Wahrscheinlichkeit, dass fehlerhafte Autos produziert werden, die dann aussortiert werden müssen.
Die folgende Tabelle zeigt, wie die Geschwindigkeit die Erfolgsquote beeinflusst:
1 bis 4: 100 % Erfolgsquote.5 bis 8: 90 % Erfolgsquote.9: 80 % Erfolgsquote.10: 77 % Erfolgsquote.Du hast zwei Aufgaben.
Berechne die Produktionsrate des Fließbands pro Stunde und berücksichtige dabei die Erfolgsquote.
Berechne, wie viele fertige, funktionierende Autos pro Minute produziert werden.
Melde dich bei Exercism an, um jq mit 12 Konzepte75 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.