RosettaCodeData/Task/Multiple-distinct-objects/Aime/multiple-distinct-objects.aime

59 lines
809 B
Plaintext

void
show_sublist(list l)
{
integer i, v;
for (i, v in l) {
o_space(sign(i));
o_integer(v);
}
}
void
show_list(list l)
{
integer i;
list v;
for (i, v in l) {
o_text(" [");
show_sublist(v);
o_text("]");
}
o_byte('\n');
}
list
multiple_distinct(integer n, object o)
{
list l;
call_n(n, l_append, l, o);
return l;
}
integer
main(void)
{
list l, z;
# create a list of integers - `3' will serve as initializer
l = multiple_distinct(8, 3);
l_clear(l);
# create a list of distinct lists - `z' will serve as initializer
l_append(z, 4);
l = multiple_distinct(8, z);
# modify one of the sublists
l_q_list(l, 3)[0] = 7;
# display the list of lists
show_list(l);
return 0;
}