aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Syntax.md
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-10-04 15:19:26 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2018-10-04 20:18:56 -0400
commitb6fc063b13ff53c6c36abeb592983f50da995e3b (patch)
treee2db72a92e538d7df16226d9ab99a0bd66e826ed /docs/markdown/Syntax.md
parenta816e1c1fa2f70440e82b96eb027588c60de918b (diff)
downloadmeson-b6fc063b13ff53c6c36abeb592983f50da995e3b.zip
meson-b6fc063b13ff53c6c36abeb592983f50da995e3b.tar.gz
meson-b6fc063b13ff53c6c36abeb592983f50da995e3b.tar.bz2
Add documentation and release notes for 'in', 'continue' and 'break'
Diffstat (limited to 'docs/markdown/Syntax.md')
-rw-r--r--docs/markdown/Syntax.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/docs/markdown/Syntax.md b/docs/markdown/Syntax.md
index ff4c142..22b8be3 100644
--- a/docs/markdown/Syntax.md
+++ b/docs/markdown/Syntax.md
@@ -283,6 +283,17 @@ Note appending to an array will always create a new array object and
assign it to `my_array` instead of modifying the original since all
objects in Meson are immutable.
+Since 0.49.0, you can check if an array contains an element like this:
+```meson
+my_array = [1, 2]
+if 1 in my_array
+# This condition is true
+endif
+if 1 not in my_array
+# This condition is false
+endif
+```
+
#### Array methods
The following methods are defined for all arrays:
@@ -316,6 +327,20 @@ Dictionaries are available since 0.47.0.
Visit the [Reference Manual](Reference-manual.md#dictionary-object) to read
about the methods exposed by dictionaries.
+Since 0.49.0, you can check if a dictionary contains a key like this:
+```meson
+my_dict = {'foo': 42, 'foo': 43}
+if 'foo' in my_dict
+# This condition is true
+endif
+if 42 in my_dict
+# This condition is false
+endif
+if 'foo' not in my_dict
+# This condition is false
+endif
+```
+
Function calls
--
@@ -432,6 +457,24 @@ foreach name, sources : components
endforeach
```
+### Foreach `break` and `continue`
+
+Since 0.49.0 `break` and `continue` keywords can be used inside foreach loops.
+
+```meson
+items = ['a', 'continue', 'b', 'break', 'c']
+result = []
+foreach i : items
+ if i == 'continue'
+ continue
+ elif i == 'break'
+ break
+ endif
+ result += i
+endforeach
+# result is ['a', 'b']
+```
+
Comments
--