jq підтримує той самий набір типів даних, що й JSON: числа, рядки тексту (англ. string), булеві значення (англ. Boolean), масиви, обʼєкти (які в термінах JSON є хешами лише з рядковими ключами) та "null".
Зосередьмося на числах.
Усі числа, цілі чи ні, належать до чисел з плаваючою комою подвійної точності IEEE754. Це обмежує точність до 53 бітів.
З числами можна використовувати звичайні оператори:
арифметичні: +, -, *, /, %
порівняння: ==, !=, <, <=, >=, >
стандартні математичні функції
Для функцій з одним вхідним значенням передайте значення у функцію через конвеєр
$ jq -n '(1 | atan) * 4'
3.141592653589793
Для функцій із двома вхідними значеннями вхід ігнорується, а самі значення передаються як параметри (нагадаємо, параметри розділяються крапками з комою)
$ jq -n 'pow(2; 10)'
1024
Розділювач аргументів функції - крапка з комою, а не кома.
jq
Щоб розвʼязати цю вправу, потрібно знати про умовні вирази.
jq використовує вираз if-then-else для умовних виразів.
Як вираз, його розміщують у конвеєрі.
Синтаксис такий: if CONDITION then TRUE_EXPR else FALSE_EXPR end.
Гілка else необовʼязкова.
42 | if . < 33 then "small" else "larger" end
# => "larger"
Для додаткових умов використовують elif
42 | if . < 33 then "small"
elif . < 67 then "medium"
else "large"
end
# => "medium"
У цій вправі ми будемо писати код, який аналізує виробництво на складальній лінії автомобільного заводу.
Швидкість складальної лінії може змінюватися від 0 (вимкнено) до 10 (максимум).
За найповільнішої швидкості (1) щогодини виробляють 221 автомобіль.
Обсяг виробництва зростає лінійно зі швидкістю.
Тож за швидкості 4 має вироблятися 4 * 221 = 884 автомобілі на годину.
Однак вищі швидкості підвищують імовірність появи бракованих автомобілів, які потім доводиться відкидати.
У наступній таблиці показано, як швидкість впливає на частку успішних автомобілів:
1 до 4: 100% успішних автомобілів.5 до 8: 90% успішних автомобілів.9: 80% успішних автомобілів.10: 77% успішних автомобілів.Перед нами два завдання.
Обчисліть обсяг виробництва складальної лінії за годину з урахуванням частки успішних автомобілів.
Обчисліть, скільки готових робочих автомобілів виробляють за хвилину.
Зареєструйтеся на Exercism, щоб вивчати й опановувати jq, а також 12 концепцій75 вправ та справжнє наставництво від людей, і все це безкоштовно.