2010-07-15 23:24:28 -05:00
|
|
|
// -*- rust -*-
|
|
|
|
|
|
|
|
iter two() -> int {
|
|
|
|
put 0;
|
|
|
|
put 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
iter range(int start, int stop) -> int {
|
|
|
|
let int i = start;
|
|
|
|
while (i < stop) {
|
|
|
|
put i;
|
|
|
|
i += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-11-02 17:24:46 -05:00
|
|
|
impure fn main() {
|
2010-07-23 17:29:17 -05:00
|
|
|
let vec[mutable int] a =
|
2010-12-13 11:25:19 -06:00
|
|
|
vec(mutable -1, -1, -1, -1, -1, -1, -1, -1);
|
2010-07-15 23:24:28 -05:00
|
|
|
let int p = 0;
|
|
|
|
|
|
|
|
for each (int i in two()) {
|
|
|
|
for each (int j in range(0, 2)) {
|
|
|
|
let int tmp = 10 * i + j;
|
|
|
|
for each (int k in range(0, 2)) {
|
|
|
|
a.(p) = 10 * tmp + k;
|
|
|
|
p += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
check (a.(0) == 0);
|
|
|
|
check (a.(1) == 1);
|
|
|
|
check (a.(2) == 10);
|
|
|
|
check (a.(3) == 11);
|
|
|
|
check (a.(4) == 100);
|
|
|
|
check (a.(5) == 101);
|
|
|
|
check (a.(6) == 110);
|
|
|
|
check (a.(7) == 111);
|
|
|
|
}
|