mirror of
https://github.com/mikefarah/yq.git
synced 2025-02-26 17:45:46 +00:00

* Added divide operator (#49) * Tidy up divide operator logic * Added modulo operator * Fix divide test typo * Add divide by zero test * Handle int modulo by 0 and add tests * Tidy up divide/modulo operator node creation * Fix linter errors
57 lines
628 B
Markdown
57 lines
628 B
Markdown
|
|
## String split
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
a: cat_meow
|
|
b: _
|
|
```
|
|
then
|
|
```bash
|
|
yq '.c = .a / .b' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
a: cat_meow
|
|
b: _
|
|
c:
|
|
- cat
|
|
- meow
|
|
```
|
|
|
|
## Number division
|
|
The result during division is calculated as a float
|
|
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
a: 12
|
|
b: 2.5
|
|
```
|
|
then
|
|
```bash
|
|
yq '.a = .a / .b' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
a: 4.8
|
|
b: 2.5
|
|
```
|
|
|
|
## Number division by zero
|
|
Dividing by zero results in +Inf or -Inf
|
|
|
|
Given a sample.yml file of:
|
|
```yaml
|
|
a: 1
|
|
b: -1
|
|
```
|
|
then
|
|
```bash
|
|
yq '.a = .a / 0 | .b = .b / 0' sample.yml
|
|
```
|
|
will output
|
|
```yaml
|
|
a: !!float +Inf
|
|
b: !!float -Inf
|
|
```
|
|
|