sexta-feira, 8 de agosto de 2008

Closures em Java

Olha o que vai ter no java 1.7

public class A {
public static void main(String args[]) {
exec( { int a, int b => a + b });
exec( { int a, int b => a * b });
exec( { int a, int b =>
System.out.println("closure " + a + ":" + b);
(a * a) + (b * b)
});
}
public static void exec({ int, int => int } closure){
System.out.println(closure.invoke(3,2));
}
}


$ java -Xbootclasspath/p:./closures-2008-08-04/lib/closures.jar   A
5
6
closure 3:2
13


Divertido :)

Fonte:
http://guj.com.br/posts/list/99477.java

2 comentários:

La Batalema Pitonisto disse...

Tenho muito medo disso!

[]'s
Cacilhas, La Batalema

Tiago Peczenyj disse...

Hehehe... bizarro mesmo sera quando o java tiver suporte a pipes, sinais e outras coisas do mundo shell/C/*nix.

Imagina uma classe fazendo um TRAP... hehehe!