codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/+ Michal 'GiM' Spadlinski +/ import tango.io.Stdout; import tango.math.Random; void blink(T, U)(T t, bool delegate(ref U) cond, void delegate(ref U) act) { foreach (ref a; t) if (cond(a)) act(a); } class Kontener { private int[] data; this (int n) { data = new int[n]; foreach (ref x; data) x = Random.shared.next(100); } int opApply(int delegate(ref int) dg) { int res; foreach (ref a; data) { if ( (res = dg(a)) != 0 ) break; } return res; } } void main() { Kontener kon = new Kontener(10); foreach (a; kon) Stdout (a) (" "); Stdout.newline; blink(kon, (ref int b){ return b%2 == 0; }, (ref int b){ Stdout(b).newline; b+=8; } ); Stdout ("----------").newline; foreach (a; kon) Stdout (a).newline; }
Private
[
?
]
Run code
Submit