-
Notifications
You must be signed in to change notification settings - Fork 214
Expand file tree
/
Copy pathswitch.prg
More file actions
119 lines (105 loc) · 1.72 KB
/
switch.prg
File metadata and controls
119 lines (105 loc) · 1.72 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#ifdef __XHARBOUR__
#define OTHERWISE DEFAULT
#define ENDSWITCH END
#endif
PROCEDURE Main()
LOCAL a := 1
MEMVAR m_b
PRIVATE m_b := "m_b"
#ifndef __XHARBOUR__
SWITCH a
ENDSWITCH
#endif
?
? "1111111111111111111111111111111"
SWITCH a
CASE 1
? "FOUND: 1"
ENDSWITCH
?
? "2222222222222222222222222222222"
SWITCH a
CASE 1
? "FOUND: 1"
EXIT
CASE "2"
? a
ENDSWITCH
?
? "3333333333333333333333333333333"
SWITCH a
CASE 1
? "FOUND: 1"
CASE "2"
? "FOUND: 2"
OTHERWISE
? "other"
ENDSWITCH
#ifndef __XHARBOUR__
?
? "44444444444444444444444444444444444"
SWITCH a
OTHERWISE
? "OTHERWISE"
ENDSWITCH
#endif
?
? "55555555555555555555555555555555555"
a := "EE"
#ifndef __XHARBOUR__
SWITCH a
CASE 11
? "11"
EXIT
CASE "CCCC" + "DDDD"
? a + a
EXIT
CASE "a&m_b"
CASE 1 + 1
CASE { 11111111, 22222222222 }[ 1 ]
CASE 1 + 1 + 1
? "3"
EXIT
CASE 1 + 1 * 3
CASE 123 + 12 * 4 - 1 * 4 + 2
CASE 1 - 4
? "4"
EXIT
CASE 123456789
CASE 0
EXIT
CASE "AAAA"
CASE "BBBBB"
? a
EXIT
CASE Chr( 12 ) + Chr( 15 )
? "Chr()"
EXIT
OTHERWISE
? "NOT FOUND: running OTHER"
ENDSWITCH
#endif
?
? "666666666666666666666666666666666666666666"
a := "2"
SWITCH a
CASE 1
? "FOUND: 1"
? a
EXIT
CASE "2"
SWITCH a + a
CASE 1
? "Nested FOUND 1"
EXIT
CASE "22"
? "Nested FOUND: 22"
EXIT
OTHERWISE
? "Nested OTHERWISE"
ENDSWITCH
?? "In CASE 1"
? a
ENDSWITCH
? "========================================="
RETURN