annotate run/mini/aa3.d @ 1628:c6ef09dfba4d

add mini test set from ldc project
author Moritz Warning <moritzwarning@web.de>
date Mon, 10 Jan 2011 19:47:18 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1628
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
1 module aa3;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
2
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
3 extern(C) int printf(char*, ...);
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
4 alias char[] string;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
5
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
6 void main()
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
7 {
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
8 int[string] aa;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
9 {aa["hello"] = 1;}
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
10 {int* p = "" in aa;}
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
11 aa[" worl"] = 2;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
12 aa["d"] = 3;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
13 aa["thisisgreat"] = 10;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
14 int sum;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
15 string cat;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
16 {
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
17 foreach(k,v;aa)
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
18 {
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
19 printf("int[%.*s] = %d\n", k.length, k.ptr, v);
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
20 sum += v;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
21 cat ~= k;
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
22 }
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
23 }
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
24 assert(sum == 16);
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
25 printf("cat = %.*s\n", cat.length, cat.ptr);
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
26 assert(cat.length == 22);
c6ef09dfba4d add mini test set from ldc project
Moritz Warning <moritzwarning@web.de>
parents:
diff changeset
27 }