Do manual
O jq dá suporte ao mesmo conjunto de tipos de dados que o JSON: números, strings, Boolean, arrays, objetos (que, no jargão do JSON, são hashes com apenas chaves do tipo string) e "null".
Vamos nos concentrar nos números.
Todos os números, sejam inteiros ou não, são números de ponto flutuante de precisão dupla IEEE754. Isso nos limita a 53 bits de precisão.
Os operadores usuais estão disponíveis para usar com números:
aritmética: +, -, *, /, %
comparação: ==, !=, <, <=, >=, >
funções matemáticas padrão
Para funções de uma entrada, use um pipe para passar o valor para a função
$ jq -n '(1 | atan) * 4'
3.141592653589793
Para funções de duas entradas, elas ignoram a entrada e esperam as entradas como parâmetros (lembre-se de que os parâmetros são separados por ponto e vírgula)
$ jq -n 'pow(2; 10)'
1024
O ponto e vírgula é o separador de argumentos de função, não a vírgula.
jq
Para resolver o exercício, você vai precisar conhecer as expressões condicionais.
O jq usa uma expressão if-then-else para expressões condicionais.
Como é uma expressão, ela é colocada em um pipeline.
A sintaxe é: if CONDITION then TRUE_EXPR else FALSE_EXPR end.
A cláusula else é opcional.
42 | if . < 33 then "small" else "larger" end
# => "larger"
Condições adicionais usam elif
42 | if . < 33 then "small"
elif . < 67 then "medium"
else "large"
end
# => "medium"
Neste exercício, você vai escrever código para analisar a produção de uma linha de montagem em uma fábrica de carros.
A velocidade da linha de montagem pode variar de 0 (desligada) a 10 (máxima).
Na velocidade mais lenta (1), são produzidos 221 carros por hora.
A produção aumenta linearmente com a velocidade.
Então, com a velocidade definida como 4, ela deve produzir 4 * 221 = 884 carros por hora.
No entanto, velocidades mais altas aumentam a chance de carros com defeito serem produzidos, que depois precisam ser descartados.
A tabela a seguir mostra como a velocidade influencia a taxa de sucesso:
1 a 4: taxa de sucesso de 100%.5 a 8: taxa de sucesso de 90%.9: taxa de sucesso de 80%.10: taxa de sucesso de 77%.Você tem duas tarefas.
Calcule a taxa de produção da linha de montagem por hora, levando em conta a taxa de sucesso.
Calcule quantos carros prontos e em funcionamento são produzidos por minuto.
Crie sua conta no Exercism para aprender e dominar jq com 12 conceitos75 exercícios e mentoria humana de verdade, tudo de graça.