a me funziona, però stampa sempre solo la prima riga. è da modificare secondo quello che vuoi fare.
cosa vorresti farci di preciso?
a me funziona, però stampa sempre solo la prima riga. è da modificare secondo quello che vuoi fare.
cosa vorresti farci di preciso?
vuoi giocare al fantacalcio gratis, solo per divertirti con tante altre persone? clicca su http://www.fantamagic.it
Se vuoi uno script che visualizzi le righe in modo random allora
funziona bene.open(parole, "<parole.txt");
$i=0;
while(!eof(parole)){
$riga = <parole>;
@words[$i]=$riga;
$i++;
}
$nword = int(rand $i);
print @words[$nword];
vuoi giocare al fantacalcio gratis, solo per divertirti con tante altre persone? clicca su http://www.fantamagic.it
O si si si
funziona bene
grazie a tutti x la disponibilità![]()
^__^
Originariamente inviato da geiar99
a me funziona, però stampa sempre solo la prima riga. è da modificare secondo quello che vuoi fare.
cosa vorresti farci di preciso?
-----codice:open(parole, "<parole.txt"); $i=0; while(!eof(parole)){ $riga = <parole>; @words[$i]=$riga; $i++; } $nword = int(rand $i); print @words[$nword];
Una cosa che mi hanno sempre corretto sui newwsgroup del perl è che gli identificatori dei file devono essere scritti sempre in maiuscolo.codice:open(PAROLE, "parole.txt"); $i=0; while (<PAROLE>) { $words[$i++]=$_; #prima assegna e poi incrementa $i } print $words[int(rand($i))]; close(PAROLE);
Poi l'operazione $i++ e ++$i esiste proprio per applicarla all'interno di altre espressioni, quindi sarebbe uno peccato non usarla come sopra.
Poi, gli array, quando si chiama un valore, non si usa la '@' degli array ma la '$' degli scalari.
Provate a fare i vostri script con il modulo Strict, imparerete molto.
ciao ciao
in effetti la sintassi che ho riportato non è convenzionale e l'errore sull'array (@->$) è grave. Però confesso di aver riportato il codice senza controllarlo grammaticalmente ma solo nella sua funzionalità.![]()
Comunque grazie per la precisazione![]()
vuoi giocare al fantacalcio gratis, solo per divertirti con tante altre persone? clicca su http://www.fantamagic.it
Ancora più semplificato.codice:open(PAROLE, "parole.txt"); @words=<PAROLE>; close(PAROLE); print $words[int(rand(@words))];
Forse c'è un modo ancora più criptico per rimpicciolirlo, ma questo è al momento il mio limite.
L'ultima istruzione dovrebbe essere comprensibile. al posto di @words è come avere il numero degli elementi che lo compongono. Un bel rompicapo insomma.