June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,52 +1,34 @@
|
|||
void
|
||||
show_list(list l)
|
||||
{
|
||||
integer i;
|
||||
text s;
|
||||
integer i, k;
|
||||
|
||||
o_text("[");
|
||||
|
||||
s = "";
|
||||
|
||||
i = 0;
|
||||
while (i < l_length(l)) {
|
||||
o_text(s);
|
||||
if (l_s_integer(l, i)) {
|
||||
o_integer(l[i]);
|
||||
while (i < ~l) {
|
||||
o_text(i ? ", " : "");
|
||||
if (l_j_integer(k, l, i)) {
|
||||
o_integer(k);
|
||||
} else {
|
||||
show_list(l[i]);
|
||||
}
|
||||
s = ", ";
|
||||
i += 1;
|
||||
}
|
||||
|
||||
o_text("]");
|
||||
}
|
||||
|
||||
void
|
||||
flat(list c, object o)
|
||||
list
|
||||
flatten(list c, object o)
|
||||
{
|
||||
if (__id(o) == INTEGER_ID) {
|
||||
l_append(c, o);
|
||||
c.append(o);
|
||||
} else {
|
||||
l_ucall(o, flat, 1, c);
|
||||
l_ucall(o, flatten, 1, c);
|
||||
}
|
||||
}
|
||||
|
||||
list
|
||||
flatten(list l)
|
||||
{
|
||||
list c;
|
||||
|
||||
l_ucall(l, flat, 1, c);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
list
|
||||
nl(...)
|
||||
{
|
||||
return xcall(l_assemble);
|
||||
c;
|
||||
}
|
||||
|
||||
integer
|
||||
|
|
@ -54,12 +36,13 @@ main(void)
|
|||
{
|
||||
list l;
|
||||
|
||||
l = nl(nl(1), 2, nl(nl(3, 4), 5), nl(nl(nl())), nl(nl(nl(6))), 7, 8, nl());
|
||||
l = list(list(1), 2, list(list(3, 4), 5),
|
||||
list(list(list())), list(list(list(6))), 7, 8, list());
|
||||
|
||||
show_list(l);
|
||||
o_byte('\n');
|
||||
|
||||
show_list(flatten(l));
|
||||
show_list(flatten(list(), l));
|
||||
o_byte('\n');
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue