Note:
Testo rimosso dalla rev 3 e
Testo aggiunto nella rev4
Semplice trucco per sapere quante linee sono contenuti in un file:
Potremmo, alternativamente, eliminare quel File.new(). Ci bastera’ scrivere:File.new('miofile.txt').readlines.length
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 metodosplit() 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