Mercurial > projects > dstress
diff run/foreach_10.d @ 0:3269e4627918
init dstress
author | svnowner |
---|---|
date | Sat, 25 Sep 2004 22:33:30 +0000 |
parents | |
children | 3414705c41ac |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/foreach_10.d Sat Sep 25 22:33:30 2004 +0000 @@ -0,0 +1,33 @@ +// $Header: /home/th/Dokumente/Entwicklung/MEIN_CVS/MiniD/src/run/foreach_10.d,v 1.1 2004/09/21 21:04:47 th Exp $ + +class MyArray{ + double[] array; + + this(){ + array=new double[3]; + array[0]=0.0; + array[1]=4.0; + array[2]=8.0; + } + + int opApply(int delegate(inout double) dg){ + double result; + for(int i=0; i<array.length; i++){ + result = dg(array[i]); + if(result){ + return i; + } + } + return array.length; + } +} +int main(){ + MyArray array=new MyArray(); + double test=0.0; + assert(test==0.0); + foreach(double value; array){ + test+=value; + } + assert(test==12.0); + return 0; +} \ No newline at end of file