-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontinue.js
More file actions
36 lines (33 loc) · 1.21 KB
/
Copy pathcontinue.js
File metadata and controls
36 lines (33 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import * as C from 'cigar';
import { run, printf } from './common';
/**
* This example shows how to use CONTINUE statement to shortcut the loop body
*
* Syntax:
* CONTINUE
*
*/
var i;
var sum;
let appMain = SEQ(
LET("sum", 0), // let sum = 0;
FOR( // for (
LET("i", 0), // let i = 0,
({i}) => C.le(i, 10), // i <= 10,
(local) => local.i = C.add(local.i, 1), // i = i + 1
).DO( // ) {
IF(({i}) => C.eq(C.mod(i, 2), 0)).THEN( // if ((i % 2) == 0) {
CONTINUE // continue;
), // }
(local) => local.sum = C.add(local.sum, local.i), // sum = sum + i;
), // }
({sum}) => { printf('sum=%d', sum); } // printf('sum=%d'", sum);
);
/**
* Since sum = 1 + 3 + 5 + 7 + 9
*
* Output:
* sum=25
* Done
*/
run(appMain);