• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1function Add(a, b, c)
2{
3    Stdout("Test Add ", a, b, c);
4    a = a + b;
5    c = a + c;
6    return a, c;
7}
8
9Stdout("Test Add-int ", Add(100, 200, 10.0));
10Stdout("Test Add-float ", Add(100.0, 200.0, 10));
11// 失败
12#Stdout("Test Add-string ", Add(100.0, 200.0, "1000"));
13Stdout("Test Add-string ", Add("100.0 + ", 200.0, "++++"));
14
15function Sub(a, b, c)
16{
17    Stdout("Test Sub ", a, b, c);
18    a = a - b;
19    c = a - c;
20    return a, c;
21}
22
23Stdout("Test Sub-int ", Sub(100, 200, 10.0));
24Stdout("Test Sub-float ", Sub(100.0, 200.0, 10));
25
26function Mul(a, b, c)
27{
28    Stdout("Test Mul ", a, b, c);
29    a = a * b;
30    c = a * c;
31    return a, c;
32}
33
34Stdout("Test Mul-int ", Mul(100, 200, 10.0));
35Stdout("Test Mul-float ", Mul(100.0, 200.0, 10));
36
37function Div(a, b, c)
38{
39    Stdout("Test Div ", a, b, c);
40    a = a / b;
41    c = a / c;
42    return a, c;
43}
44
45Stdout("Test Div-int ", Div(100, 200, 10.0));
46Stdout("Test Div-float ", Div(100.0, 200.0, 10));
47
48function EQ(a, b, c)
49{
50    Stdout("Test EQ ", a, b, c);
51    d = a == b;
52    e = a == c;
53    return d, e;
54}
55
56Stdout("Test EQ-int ", EQ(100, 100, 10.0));
57Stdout("Test EQ-float ", EQ(100.1, 200.1, 200));
58Stdout("Test EQ-float ", EQ(100.1, 200, 200));
59// string 只支持和str比较
60#Stdout("Test EQ-string ", EQ("200.0", 200.0, 10));
61Stdout("Test EQ-string ", EQ("200.0", "200.0", "10"));
62
63function NE(a, b, c)
64{
65    Stdout("Test NE ", a, b, c);
66    d = a != b;
67    e = a != c;
68    return d, e;
69}
70
71Stdout("Test NE-int ", NE(100, 100, 10.0));
72Stdout("Test NE-float ", NE(100.1, 200.1, 200));
73Stdout("Test NE-float ", NE(100.1, 200, 200));
74// string 只支持和str比较
75#Stdout("Test NE-string ", NE("200.0", 200.0, 10));
76Stdout("Test NE-string ", NE("200.0", "200.0", "10"));
77
78function NE(a, b, c)
79{
80    Stdout("Test NE ", a, b, c);
81    d = a != b;
82    e = a != c;
83    return d, e;
84}
85
86Stdout("Test NE-int ", NE(100, 100, 10.0));
87Stdout("Test NE-float ", NE(100.1, 200.1, 200));
88Stdout("Test NE-float ", NE(100.1, 200, 200));
89// string 只支持和str比较
90#Stdout("Test NE-string ", NE("200.0", 200.0, 10));
91Stdout("Test NE-string ", NE("200.0", "200.0", "10"));
92
93function GT(a, b, c)
94{
95    Stdout("Test GT ", a, b, c);
96    d = a > b;
97    e = a > c;
98    return d, e;
99}
100
101Stdout("Test GT-int ", GT(100, 100, 10.0));
102Stdout("Test GT-float ", GT(100.1, 200.1, 200));
103Stdout("Test GT-float ", GT(100.1, 200, 200));
104// string 只支持和str比较
105#Stdout("Test GT-string ", GT("200.0", 200.0, 10));
106Stdout("Test GT-string ", GT("200.0", "200.0", "10"));
107
108function GE(a, b, c)
109{
110    Stdout("Test GE ", a, b, c);
111    d = a >= b;
112    e = a >= c;
113    return d, e;
114}
115
116Stdout("Test GE-int ", GE(100, 100, 10.0));
117Stdout("Test GE-float ", GE(100.1, 200.1, 200));
118Stdout("Test GE-float ", GE(100.1, 200, 200));
119// string 只支持和str比较
120#Stdout("Test GE-string ", GE("200.0", 200.0, 10));
121Stdout("Test GE-string ", GE("200.0", "200.0", "10"));
122
123function LT(a, b, c)
124{
125    Stdout("Test LT ", a, b, c);
126    d = a < b;
127    e = a < c;
128    return d, e;
129}
130
131Stdout("Test LT-int ", LT(100, 100, 10.0));
132Stdout("Test LT-float ", LT(100.1, 200.1, 200));
133Stdout("Test LT-float ", LT(100.1, 200, 200));
134// string 只支持和str比较
135#Stdout("Test LT-string ", LT("200.0", 200.0, 10));
136Stdout("Test LT-string ", LT("200.0", "200.0", "10"));
137
138function LE(a, b, c)
139{
140    Stdout("Test LE ", a, b, c);
141    d = a <= b;
142    e = a <= c;
143    return d, e;
144}
145
146Stdout("Test LE-int ", LE(100, 100, 10.0));
147Stdout("Test LE-float ", LE(100.1, 200.1, 200));
148Stdout("Test LE-float ", LE(100.1, 200, 200));
149// string 只支持和str比较
150#Stdout("Test LE-string ", LE("200.0", 200.0, 10));
151Stdout("Test LE-string ", LE("200.0", "200.0", "10"));
152
153// 测试if语句
154function TestIf(a, b, c)
155{
156    if (a > b) {
157        return a, c;
158    } else {
159        return b, c;
160    }
161}
162
163Stdout("TestIf ", TestIf(100, 10, 10.0));
164Stdout("TestIf ", TestIf(200, 100, 10.0));
165Stdout("TestIf ", TestIf(100, 10 + 200, 10.0));
166
167// 测试for
168function TestFor(a, b, c)
169{
170    for (i = 0; i < a; i = i + 1) {
171        Stdout("TestFor i = ", i);
172        if (i > b) {
173            Stdout("TestFor return");
174            return i;
175        }
176        if (i == b) {
177            Stdout("TestFor continue");
178            continue;
179        }
180        if (i == c) {
181            Stdout("TestFor break");
182            break;
183        }
184    }
185    return c;
186}
187
188Stdout("TestFor ", TestFor(10, 5, 10));
189Stdout("TestFor ", TestFor(10, 5, 10));
190Stdout("TestFor ", TestFor(10, 5, 3));
191
192// 测试while 循环
193function TestWhile(a, b, c)
194{
195    i = 0;
196    while (i < a) {
197        Stdout("TestWhile i = ", i);
198        if (i > b) {
199            Stdout("TestWhile return");
200            return i;
201        }
202        if (i == b) {
203            Stdout("TestWhile continue i= ", i);
204            i = i + 2;
205            continue;
206        }
207        if (i == c) {
208            Stdout("TestWhile break");
209            break;
210        }
211        i = i + 1;
212    }
213    return c;
214}
215
216Stdout("TestWhile ", TestWhile(10, 5, 10));
217Stdout("TestWhile ", TestWhile(10, 5, 10));
218Stdout("TestWhile ", TestWhile(10, 5, 3));