On 01/29/2011 01:01 AM, bearophile wrote:
Built-in AAs are currently broken and in need to be fixed:
import std.stdio: writeln;
void foo(int[int] aa, int n) {
aa[n] = n;
}
void main() {
int[int] a;
foo(a, 0);
writeln(a);
a[1] = 1;
foo(a, 2);
writeln(a);
}
Bye,
bearophile
Variation on the theme:
void foo(int[int] aa, int n) {
aa[n] = n;
}
void foo(int[] a, int n) {
a ~= n;
}
void bar(ref int[int] aa, int n) {
aa[n] = n;
}
void bar(ref int[] a, int n) {
a ~= n;
}
unittest {
int[int] aa;
foo(aa, 3);
writeln(aa.length);
int[] a;
foo(a, 3);
writeln(a.length);
int[int] bb;
bar(bb, 3);
writeln(bb.length);
int[] b;
bar(b, 3);
writeln(b.length);
}
Denis
--
_________________
vita es estrany
spir.wikidot.com