Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: prendere riga nriga

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965

    prendere riga nriga

    Io leggo un determinato file.
    E' possibile prendere, ad esempio, la riga 10, senza andare in ordine?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non mi pare, se il file e` aperto in ASCII e/o le linee hanno lunghezza diversa.

    Se invece e` binario, o comunque ha una struttura fissa, puoi usare fseek()
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    ok, meglio caricare le linee in un array :quipy:

    grazie

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    come faccio a sezionare la stringa carattere per carattere???
    qualcosa tipo
    explode("", $stringa)
    di php

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    e perchè così

    codice:
    open(parole, "<parole.txt");
    $i=0;
    while(!eof(parole)){
    $riga = <parole>;
    @words[i]=$riga;
    $i++;
    }
    $nword = int(rand $i);
    print @words[$nword];
    si blocca e non mi stampa nulla ???

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per spezzare la stringa, ritengo puoi usare la funzione split, con il primo argomento vuoto (vedi comunque il manuale).

    Nel tuo script, c'e` un errore (il Perl non sa che con [i] tu intendi [$i] ).

    Comunque si puo` scrivere:
    codice:
    open(parole, "<parole.txt");
    $i=0
    while(!eof(parole)){
      @words[$i++] = <parole>;
    }
    $nword = int(rand $i);
    print @words[$nword];
    Ora sono un po' arrugginito con il Perl (magari qualcun altro mi correggera`), ma credo sia equivalente a:
    codice:
    open(parole, "<parole.txt");
    @words = <parole>;
    
    $nword = int(rand $words);
    print @words[$nword];
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Non mi stampa nessuna parola con nessuno dei 2 codici

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma il print ti stampa qualcosa?

    Il programma Perl e` un CGI? In tal caso il print va a finire nella pagina Web (sempre che sia inizializzata correttamente).

    Prova con una cosa del tipo:
    print "prova di stampa\n";
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    no è solo Perl
    se provo a stampare stampa a video (dos)

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai provato a scrivere:
    print "@words[$nword]\n";
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.