Modulo
Arithmetic modulo operator, returns the remainder from dividing two numbers.
If the lhs and rhs are ints then the expression will be calculated with ints.
Given a sample.yml file of:
a: 13
b: 2
then
yq '.a = .a % .b' sample.yml
will output
a: 1
b: 2
If the lhs or rhs are floats then the expression will be calculated with floats.
Given a sample.yml file of:
a: 12
b: 2.5
then
yq '.a = .a % .b' sample.yml
will output
a: !!float 2
b: 2.5
If the lhs is an int and rhs is a 0 the result is an error.
Given a sample.yml file of:
a: 1
b: 0
then
yq '.a = .a % .b' sample.yml
will output
Error: cannot modulo by 0
If the lhs is a float and rhs is a 0 the result is NaN.
Given a sample.yml file of:
a: 1.1
b: 0
then
yq '.a = .a % .b' sample.yml
will output
a: !!float NaN
b: 0
Last modified 6mo ago