Newsgroup: it.comp.lang.javascript
Titolo: ciclo

Ciao a tutti, dovrei fare questo ma non riesco, scusate l'ignoranza.
Ho un array:
my_flags = ["a","e","i","o","u","y"];
ed ho una variabile
totale = 34;
Devo fare in modo da ottenere qualcosa come
a
e
i
o
u
y
aa
ee
ii
oo
uu
yy
aaa
eee
iii
ooo
uuu
yyy
...
fino a raggiungere il numero 34...
come ca**hio si fa?   ;-)

 fino a raggiungere il numero 34...
Prima che ti risponda fischi per fiaschi: intendi che devi arrivare a
ottenere progressivamente delle stringhe lunghe 34 caratteri? Oppure,
che vuoi applicare l'incremento per 34 volte?
Immagino la prima, ma ci sono volte che preferisco evitare di dare le
cose troppo per scontate. :)
-- 
~ Ci siamo fatti una scopata cosi' eccezionale che anche i vicini
hanno fumato una sigaretta.

 
in effetti, intendo forse la seconda.
Cioč, all'inizio la cosa dovrebbe avere l'effetto che avrebbe fare
for(i=0;i<my_flags.length;i++){
print my_flags[i];
}
(questo stampa "a", "e", "i", "o", "u", "y")
poi si deve fare in modo di tornare su my_flags[0] e riprocedere verso 
my_flags.length per stampare le lettere col raddoppio
"aa" "ee" "ii" "oo", "uu", "yy"
Se quella variabile totaņe č (chessņ) 12 avrņ
"a", "e", "i", "o", "u", "y", "aa", "ee", "ii", "oo", "uu", "yy"
se ha valore 13
"a", "e", "i", "o", "u", "y", "aa" "ee" "ii" "oo", "uu", "yy", "aaa"
se ha valore 14
"a", "e", "i", "o", "u", "y", "aa" "ee" "ii" "oo", "uu", "yy", "aaa", "bbb"
speriamo che sono riuscito a spiegarmi, non č un caso che tu non abbia 
capito, mi spiego proprio male io   :-(

 capito, mi spiego proprio male io   :-(
Nono, stavolta č chiaro. Una cosa di quel tipo puoi ottenerla in modi
diversi (dipende anche dallo script engine che stai usando) e un modo
potrebbe essere questo:
	var my_flags = ["a","e","i","o","u","y"];
	var results = [], total = 34, flaglen = my_flags.length;
 
	for (var i=0;i<total;i++)
		results[i] = my_flags[i%flaglen]+(results[i-flaglen]||"");
 
A questo punto, dando definita "print":
	print( results );
Oppure, da browser:
	alert( results );
Ho tenuto conto del fatto che magari non volevi modificare "my_flags"
ma se cosě non fosse puoi scrivere la cosa in modo differente.
-- 
~ "E' impossibile svegliare chi fa finta di dormire."
(Proverbio navaho)

 				
bellissimo! Non capisco cosa fai nell'assegnamento qui sopra:
cioè assegni a ciascun indice dell'array vuoto results ma cosa assegni?
Mi sono perso...   :-)

 Mi sono perso...   :-)
Spero che adesso ti sia tutto chiaro. :) Come vedi, è molto più facile
e breve scrivere del codice che spiegarlo. :) Personalmente, lo faccio
più che volentieri perché mi piace vedere che ci sono persone vogliose
d'imparare, e che vengono qui per farlo. :)
P.S.
Il codice l'ho scritto al volo nel post; spero che non vi siano errori
di distrazione di sorta, ma visto il sonno arretrato evito di metterci
la mano sul fuoco. :) I concetti, comunque, son quelli,
-- 
~ Religions change, but beer and wine remain. (Harvey Allen)

 d'imparare, e che vengono qui per farlo. :)
te ne sono infinitamente grato, è sempre più raro trovare persone 
disposte a spiegarsi! Grazie!

 disposte a spiegarsi! Grazie!
E' che ci nascondiamo tutte in questo NG. ;)
Buon proseguimento. :)
-- 
~ Il futuro č nelle nostre mani. Purtroppo.

 un po' tropop "sporca" come cosa, la riga:
ma figurati se posso permettermi di fare l'elegantone   :-)
Posso dirti che ho armeggiato un po' con un while che conteneva un for,
ma poi ho rinunciato, pensando di essere su una cattiva strada