Tęsknota za wyższym poziomem Javy
Piszę kod w Javie:
- private Listener listener = new Listener() {
- void someCallback() {
- while(i.hasNext()) {
- Listener l = (Listener)i.next();
- l.someCallback();
- }
- }
- //I inne tego typu metody
- }
W Javie 1.5 mamy lepiej
- private Listener listener = new Listener() {
- void someCallback() {
- for(Listener l: listeners) {
- l.someCallback();
- }
- }
- //I inne tego typu metody
- }
- private Set<Listener> listeners;
A czy nie prościej by było to opisać jako:
private Listener listener = new proxyListener();
@ProxyCollection(listeners)
private class proxyListener implements Listener {}
private Set<Listener> listeners;
Nie upieram się przy znaku at(już wykorzystanym), może to być & lub $ (którego i tak nie można wykorzystać). Oczywiście wszystko na poziomie kompilacji...
Czy ktoś może powiedzieć, jak podobny kod wygląda w ruby(tzn. weduk filozofii ruby i w ruby)?
jam łasica
$ jest wykorzystywane
11 lipca 2006, 23:09:32
Uzytkownik
Wiem - w JVM jako separator w klasach wewnętrznych(nie wiem, czy gdzieś indziej). Ale chyba nie jest to 'wykorzystanie', które mogłoby stworzyć niejasności...
12 lipca 2006, 09:24:57
jam łasica
$ można użyć dla dowolnej nazwy, np.
public int $() {
int $$ = 5;
return $$ * $$;
}
Tak więc, zamiast $ równie dobrze można użyć znak X ;)
12 lipca 2006, 12:37:06
Uzytkownik
Przepraszam - nie wiedzialem. Znaki alfanumeryczne sa jednak mniej widoczne. W kazdym razie uzycie $ (na samym poczatku) nie powoduje niejasnosci skladniowych. X takze :) .
12 lipca 2006, 14:25:13