Newsgroup: it.comp.java
Titolo: codice leggibile (!)

C'č qualche anima pia che sa dirmi come va letto questo pezzo di
codice?
for(java.util.Enumeration hn =
((DbFieldList)ret.elementAt(k)).elements(), h1 =
argDbView.elements();
    hn.hasMoreElements() && h1.hasMoreElements();  ) {
    h = (DbField)hn.nextElement();
    ((DbField)h1.nextElement()).setValue(h.getValue());
    tmp.put(h.getDescription(),h.decode());
}
Soprattutto il ciclo for su cosa č fatto? E quella virgola prima di
h1? Io non ci arrivo. Capisco che č un ciclo sull'enumeration (di
solito uso while) ma non ci arrivo.
Grazie
--
Renzo
Email: 
SASSAMIren...@tin.it
(Remove "SASSAMI" to reply)

il for lo fa sugli elementi dei due enumeration diversi hn ed h1 (il primo
preso da un array... come se non bastasse). Quando uno dei due enumeration
esaurisce gli elementi il loop si ferma. per fare cosa poi?... sembra che
assegni il valore degli elementi del primo sul secondo... e poi mette
descrizione e codice in un hashtable...
Bel codice, dov'è l' Einstain che l'ha scritto?
Which God taxi-driver! (Che Dio t'assista...)
Luigi

E quella virgola prima di h1?
    Il ciclo for dà la possibilità di definire + istruzioni di
inizializzazione, ma per "distinguerli "
    tra loro vanno divisi da ",".
insomma per farla breve il ciclo che hai proposto sarebbe potuto essere
scritto anche così :
java.util.Enumeration hn =((DbFieldList)ret.elementAt(k)).elements();
java.util.Enumeration h1 =argDbView.elements();
while(hn.hasMoreElements() && h1.hasMoreElements() )
{
    h = (DbField)hn.nextElement();
    ((DbField)h1.nextElement()).setValue(h.getValue());
    tmp.put(h.getDescription(),h.decode());
}
Ciao.

 }
Sě ma cosě il rischio č che una mente sana riesca a capirlo :-D
Non c'č limite alla follia:
import java.text.*;public class a{public static void main(String x[]){char
b[]={34};char c[]={123};String s[]=new String[3];s[0]="import
java.text.*;class a{2}public static void main(String x[]){2}char
b[]={2}34};char c[]={2}123};String s[]=new String[3];s[0]={1}{0}{1};s[1]=new
String(b);s[2]=new
String(c);System.out.println(MessageFormat.format(s[0],s));}}";s[1]=new
String(b);s[2]=new
String(c);System.out.println(MessageFormat.format(s[0],s));}}
Indovinate che fa... :-)

 Non c'è limite alla follia:


 ha scritto nel messaggio
news:c2BX8.72645$vm5.2...@news2.tin.it...


 Ehehehe, dovrebbe essere un codice che scrive se stesso in output.
Vedi anche 
http://www.gnu.org/software/java/selfprint-java.html

Dario... Dariol ? :-)

 writing programs in C   :-)
-- Dario

 ha scritto nel messaggio
news:1103_1026726166@dylan...



Ci sono arrivato. Ciao
Ecco il codice in versione perfetta:
import java.text.*;public class a{public static void main(String x[]){char
b[]={34};char c[]={123};String s[]=new String[3];s[0]="import
java.text.*;public class a{2}public static void main(String x[]){2}char
b[]={2}34};char c[]={2}123};String s[]=new String[3];s[0]={1}{0}{1};s[1]=new
String(b);s[2]=new
String(c);System.out.println(MessageFormat.format(s[0],s));}}";s[1]=new
String(b);s[2]=new
String(c);System.out.println(MessageFormat.format(s[0],s));}}
se togliete i vai a capo e non mettete spazi al loro posto, input e output
saranno perfettamente uguali(confronto con Linux diff) Ciao
--
Paolo Giarrusso
Per rispondere togliere solo "TOGLIMI" dall'indirizzo, non _spam.