From the manual
jq supports the same set of datatypes as JSON - numbers, strings, booleans, arrays, objects (which in JSON-speak are hashes with only string keys), and "null".
Let's focus on numbers.
All numbers, whether integers or otherwise, are IEEE754 double precision floating point numbers. This limits us to 53 bits of precision.
The usual operators are available to use with numbers:
standard math functions
For one-input functions, pipe the value into the function
$ jq -n '(1 | atan) * 4' 3.141592653589793
For two-input functions, the functions will ignore input and expect the inputs as parameters (recall parameters are separated by semicolons)
$ jq -n 'pow(2; 10)' 1024
Semi-colon is the separator for function arguments, not comma.
To solve the exercise, you will need to know about conditional expressions.
jq uses an
if-then-else expression for conditional expressions.
As an expression, it is placed in a pipeline.
Then syntax is:
if CONDITION then TRUE_EXPR else FALSE_EXPR end.
else clause is required in jq v1.6.
42 | if . < 33 then "small" else "larger" end # => "larger"
Additional conditions use
42 | if . < 33 then "small" elif . < 67 then "medium" else "large" end # => "medium"
In this exercise you'll be writing code to analyze the production of an assembly line in a car factory.
The assembly line's speed can range from
0 (off) to
At its slowest speed (
221 cars are produced each hour.
The production increases linearly with the speed.
So with the speed set to
4, it should produce
4 * 221 = 884 cars per hour.
However, higher speeds increase the likelihood that faulty cars are produced, which then have to be discarded.
The following table shows how speed influences the success rate:
4: 100% success rate.
8: 90% success rate.
9: 80% success rate.
10: 77% success rate.
You have two tasks.
Calculate the assembly line's production rate per hour, taking into account its success rate.
Calculate how many completed, working cars are produced per minute.