diff options
author | Nicolas Williams <nico@cryptonector.com> | 2019-02-20 19:53:39 -0600 |
---|---|---|
committer | Nico Williams <nico@cryptonector.com> | 2019-02-20 20:03:26 -0600 |
commit | 8a02b2c9c191015d8f1e5e27404e2682d76b6a91 (patch) | |
tree | 532ae88141441b5fd1e806c70567c5c110e3c11b | |
parent | 4f6045a94e0519ec58210bbd58ece442c32468e1 (diff) |
Document optional `else` clause of `if`
-rw-r--r-- | docs/content/3.manual/manual.yml | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/docs/content/3.manual/manual.yml b/docs/content/3.manual/manual.yml index e6d4e57a..011218f8 100644 --- a/docs/content/3.manual/manual.yml +++ b/docs/content/3.manual/manual.yml @@ -2044,13 +2044,16 @@ sections: produces a value other than false or null, but act the same 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 "truthiness" than is found in Javascript or Python, but it 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 - need something more like `if (.name | length) > 0 then A else - B end` instead. + need something more like `if .name then A else B end` instead. 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 |