mirror of
https://github.com/stedolan/jq.git
synced 2024-05-11 05:55:39 +00:00
Document optional else clause of if
This commit is contained in:
committed by
Nico Williams
parent
4f6045a94e
commit
8a02b2c9c1
@@ -2044,13 +2044,16 @@ sections:
|
|||||||
produces a value other than false or null, but act the same
|
produces a value other than false or null, but act the same
|
||||||
as `C` otherwise.
|
as `C` otherwise.
|
||||||
|
|
||||||
|
`if A then B end` is the same as `if A then B else . end`.
|
||||||
|
That is, the `else` branch is optional, and if absent is the
|
||||||
|
same as `.`.
|
||||||
|
|
||||||
Checking for false or null is a simpler notion of
|
Checking for false or null is a simpler notion of
|
||||||
"truthiness" than is found in Javascript or Python, but it
|
"truthiness" than is found in Javascript or Python, but it
|
||||||
means that you'll sometimes have to be more explicit about
|
means that you'll sometimes have to be more explicit about
|
||||||
the condition you want: you can't test whether, e.g. a
|
the condition you want. You can't test whether, e.g. a
|
||||||
string is empty using `if .name then A else B end`, you'll
|
string is empty using `if .name then A else B end`, you'll
|
||||||
need something more like `if (.name | length) > 0 then A else
|
need something more like `if .name then A else B end` instead.
|
||||||
B end` instead.
|
|
||||||
|
|
||||||
If the condition `A` produces multiple results, then `B` is evaluated
|
If the condition `A` produces multiple results, then `B` is evaluated
|
||||||
once for each result that is not false or null, and `C` is evaluated
|
once for each result that is not false or null, and `C` is evaluated
|
||||||
|
|||||||
Reference in New Issue
Block a user