Contare Linee Parole Caratteri

Vedi tutte le pagine e le modifiche recenti o scarica i sorgenti nella pagina


Semplice trucco per sapere quante linee sono contenuti in un file:

 File.new('miofile.txt').readlines.length
Potremmo, alternativamente, eliminare quel File.new(). Ci bastera’ scrivere:
 open('miofile.txt').readlines.length

Contare le parole e’ un poco piu’ complesso. Quello che vogliamo fare e’ identificare ogni punto in cui dei caratteri alfanumerici siano separati da caratteri di spazio. Bastera’; leggere il file in memoria e poi spezzarlo ogni volta che incontriamo uno spazio, o un tab, o un ”\n”.

Fortunatamente il metodo split() e’ li per questo :)
 f=File.read('miofile.txt') # legge tutto in memoria
 lista=f.split(/\s+/)       # spezza il file traformandolo in un array
 array.length

come funziona String#split() ? semplice, gli passiamo una Regexp. In questo caso usiamo ”\s” che significa “carattere di whitespace” e aggiungiamo un ”+” che significa “uno o piu’”. Dunque quella riga significa: spezza la riga in tanti pezzi, ognuno separato da uno o piu’ caratteri di spaziatura, come un tab uno spazio o un ritorno a capo

Updated on January 02, 2006 20:30 by Gabriele Renzi (151.37.136.250)