]> Nishi Git Mirror - gwion.git/commitdiff
Improve union docs
authorJérémie Astor <fennecdjay@gmail.com>
Mon, 18 Apr 2022 16:44:37 +0000 (18:44 +0200)
committerJérémie Astor <fennecdjay@gmail.com>
Mon, 18 Apr 2022 16:44:37 +0000 (18:44 +0200)
docs/Reference/Types/Unions.mdr

index 9c39ad559cb81dd5e7c0e703e6180be27cb96c9d..e5447641e8b1266db37a816caf19a74dab06bca5 100644 (file)
@@ -1,13 +1,24 @@
-# Union types
+# Tagged Union
 
-Union store their component in the same memory space.
-For more infomations, see [here](https://en.wikipedia.org/wiki/Union_type).
+Union store their component in the same memory space,
+but only one element can be used at a time
 
 ```gwion,editable
 union U {
-  int a;
+  int i;
   float f;
   Object o;
 };
-```
 
+#! create an union with field `i` set to `1`
+new U(i, 1) => var U u;
+
+<<< u.i >>>;
+
+#! set field f to 2.4
+2.4 => u.f;
+<<< u.f >>>;
+
+#! this will trigger an invalid access error
+<<< u.i >>>;
+```