A jq ugyanazokat az adattípusokat támogatja, mint a JSON: számok, stringek, Boolean értékek, tömbök, objektumok (amelyek a JSON szóhasználatában olyan hash-ek, amelyeknek csak string kulcsai vannak) és a „null”.
Most a számokra összpontosítsunk.
Minden szám, akár egész, akár nem, IEEE754 kétszeres pontosságú lebegőpontos szám. Ez a pontosságot 53 bitre korlátozza.
A szokásos operátorok használhatók számokkal:
aritmetika: +, -, *, /, %
összehasonlítás: ==, !=, <, <=, >=, >
szabványos matematikai függvények
Az egy bemenetet fogadó függvényeknél az értéket a függvénybe irányítjuk
$ jq -n '(1 | atan) * 4'
3.141592653589793
A két bemenetet fogadó függvényeknél a függvények figyelmen kívül hagyják a bemenetet, és a bemeneteket paraméterként várják (emlékezz rá, hogy a paramétereket pontosvessző választja el)
$ jq -n 'pow(2; 10)'
1024
A függvényargumentumok elválasztója a pontosvessző, nem a vessző.
jq kifejezésekA feladat megoldásához ismerned kell a feltételes kifejezéseket.
A jq egy if-then-else kifejezést használ a feltételes kifejezésekhez.
Kifejezésként egy pipeline-ba kerül.
A szintaxis a következő: if CONDITION then TRUE_EXPR else FALSE_EXPR end.
Az else ág elhagyható.
42 | if . < 33 then "small" else "larger" end
# => "larger"
További feltételekhez az elif kulcsszót használd
42 | if . < 33 then "small"
elif . < 67 then "medium"
else "large"
end
# => "medium"
Ebben a feladatban egy autógyár összeszerelősorának a termelését elemző kódot fogsz írni.
Az összeszerelősor sebessége 0 (kikapcsolva) és 10 (maximum) között lehet.
A leglassabb sebességén (1) óránként 221 autó készül.
A termelés lineárisan növekszik a sebességgel.
Tehát 4-es sebesség mellett óránként 4 * 221 = 884 autót kell gyártania.
A nagyobb sebesség azonban megnöveli annak a valószínűségét, hogy hibás autók készülnek, amelyeket aztán ki kell selejtezni.
Az alábbi táblázat megmutatja, hogyan befolyásolja a sebesség a sikerességi arányt:
1-től 4-ig: 100%-os sikerességi arány.5-től 8-ig: 90%-os sikerességi arány.9: 80%-os sikerességi arány.10: 77%-os sikerességi arány.Két részfeladatod van.
Számítsd ki az összeszerelősor óránkénti termelési rátáját, figyelembe véve a sikerességi arányát.
Számítsd ki, hány elkészült, működő autó készül percenként.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) jq nyelvet 12 fogalom75 feladat segítségével, valódi emberi mentorálással, mindez ingyen.