File tree Expand file tree Collapse file tree 5 files changed +72
-0
lines changed Expand file tree Collapse file tree 5 files changed +72
-0
lines changed Original file line number Diff line number Diff line change
1
+ const print = @import ("std" ).debug .print ;
2
+
3
+ pub fn main () ! void {
4
+ var x : u8 = 10 ;
5
+ {
6
+ defer x += 1 ;
7
+ print ("X: {}\n " , .{x });
8
+ }
9
+ print ("X: {}\n " , .{x });
10
+ }
Original file line number Diff line number Diff line change
1
+ const print = @import ("std" ).debug .print ;
2
+
3
+ pub fn main () ! void {
4
+ var x : u8 = 10 ;
5
+ {
6
+ defer {
7
+ x += 1 ;
8
+ x *= 2 ;
9
+ }
10
+ print ("X: {}\n " , .{x });
11
+ }
12
+ print ("X: {}\n " , .{x });
13
+ }
Original file line number Diff line number Diff line change
1
+ const print = @import ("std" ).debug .print ;
2
+
3
+ var x : u8 = 10 ;
4
+
5
+ pub fn main () ! void {
6
+ foo ();
7
+ print ("X: {}\n " , .{x });
8
+ }
9
+
10
+ fn foo () void {
11
+ defer x += 1 ;
12
+ print ("X: {}\n " , .{x });
13
+ }
Original file line number Diff line number Diff line change
1
+ const print = @import ("std" ).debug .print ;
2
+
3
+ pub fn main () ! void {
4
+ var x : u8 = 10 ;
5
+ {
6
+ defer x += 1 ;
7
+ defer x *= 2 ;
8
+ print ("X: {}\n " , .{x });
9
+ }
10
+ print ("X: {}\n " , .{x });
11
+ }
Original file line number Diff line number Diff line change
1
+ # Defer
2
+
3
+ ``` bash
4
+ $ zig run basic.zig
5
+ X: 10
6
+ X: 11
7
+ ```
8
+
9
+ ``` bash
10
+ $ zig run multiple.zig
11
+ X: 10
12
+ X: 21
13
+ ```
14
+
15
+ ``` bash
16
+ $ zig run block.zig
17
+ X: 10
18
+ X: 22
19
+ ```
20
+
21
+ ``` bash
22
+ $ zig run function.zig
23
+ X: 10
24
+ X: 11
25
+ ```
You can’t perform that action at this time.
0 commit comments