Dal manuale
jq supporta lo stesso insieme di tipi di dato di JSON: numeri, stringhe, booleani, array, oggetti (che nel gergo JSON sono hash con sole chiavi di tipo stringa) e "null".
Concentriamoci sui numeri.
Tutti i numeri, che siano interi o no, sono numeri in virgola mobile a doppia precisione IEEE754. Questo ci limita a 53 bit di precisione.
Con i numeri puoi usare i soliti operatori:
aritmetica: +, -, *, /, %
confronto: ==, !=, <, <=, >=, >
le funzioni matematiche standard
Per le funzioni con un solo input, passa il valore alla funzione con una pipe
$ jq -n '(1 | atan) * 4'
3.141592653589793
Per le funzioni con due input, la funzione ignora l'input e si aspetta gli input come parametri (ricorda che i parametri sono separati da punti e virgola)
$ jq -n 'pow(2; 10)'
1024
Il punto e virgola è il separatore degli argomenti di una funzione, non la virgola.
jq
Per risolvere l'esercizio, dovrai conoscere le espressioni condizionali.
jq usa un'espressione if-then-else per le espressioni condizionali.
Essendo un'espressione, si inserisce in una pipeline.
La sintassi è: if CONDITION then TRUE_EXPR else FALSE_EXPR end.
La clausola else è facoltativa.
42 | if . < 33 then "small" else "larger" end
# => "larger"
Per ulteriori condizioni si usa elif
42 | if . < 33 then "small"
elif . < 67 then "medium"
else "large"
end
# => "medium"
In questo esercizio scriverai codice per analizzare la produzione di una catena di montaggio in una fabbrica di automobili.
La velocità della catena di montaggio può variare da 0 (spenta) a 10 (massima).
Alla sua velocità più bassa (1), vengono prodotte 221 automobili ogni ora.
La produzione aumenta in modo lineare con la velocità.
Quindi, con la velocità impostata a 4, dovrebbe produrre 4 * 221 = 884 automobili all'ora.
Tuttavia, velocità più alte aumentano la probabilità che vengano prodotte automobili difettose, che poi devono essere scartate.
La tabella seguente mostra come la velocità influisce sul tasso di successo:
1 a 4: tasso di successo del 100%.5 a 8: tasso di successo del 90%.9: tasso di successo dell'80%.10: tasso di successo del 77%.Hai due compiti.
Calcola il tasso di produzione orario della catena di montaggio, tenendo conto del suo tasso di successo.
Calcola quante automobili complete e funzionanti vengono prodotte al minuto.
Iscriviti a Exercism per imparare e padroneggiare jq con 12 concetti75 esercizi e il mentoring di persone reali, tutto gratis.