# Metodo con array?

**URL:** <https://www.ruby-forum.com/t/metodo-con-array/192702>\
**Category:** IT\
**Created:** [August 4, 2010, 10:20am UTC](https://www.ruby-forum.com/t/metodo-con-array/192702 "2010-08-04T10:20:31Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cisco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/ccd318/32.png) [@cisco](https://www.ruby-forum.com/u/cisco)\
**Post date:** [August 4, 2010, 10:20am UTC](https://www.ruby-forum.com/t/metodo-con-array/192702/1 "2010-08-04T10:20:31Z")

</div>

Buongiorno a tutti…sto imparando a programmare con ruby ma non ho  
ancora acquistato dimestichezza nel combinare diverse cose;  
Ho un file txt che contiene parole e simboli di punteggiatura SEPARATI  
DA UNO SPAZIO (Ã¨ un testo tokenizzato).  
Devo scrivere un metodo che prenda come argomento d’entrata il file con  
il testo tokenizzato per ottenere alla fine un array di tokens. Il  
risultato dovrebbe essere il seguente. Chiamando il metodo e inserendo  
anche il nome del file mi dovrebbe apparire sullo schermo il contenuto  
dell’array che perÃ³ dovrei organizzare in questo modo.

token 1= La  
token 2= casa  
token 3= Ã¨  
token 4= grande  
token 5= .

Grazie

---

<div class="post-metadata">

**Author:** ![cisco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/ccd318/32.png) [@cisco](https://www.ruby-forum.com/u/cisco)\
**Post date:** [August 4, 2010, 11:02am UTC](https://www.ruby-forum.com/t/metodo-con-array/192702/2 "2010-08-04T11:02:29Z")

</div>

ciao Francisco,

prima di tutto, la prossima volta usa un subject più consono ed in  
minuscolo (sai quella roba di _netiquette_) 😉

in secondo luogo, con tutta la disponibilità che puoi trovare qui, non  
aspettarti che qualcuno ti scriva il programmino dal principio, anche  
senza ulteriori dettagli, ad esempio come è strutturato il file da  
leggere…

ad ogni modo, il procedimento da cui potresti cominciare è scomporlo in  
problemi più semplici:

- leggi il nome del file in input
- apri il file e leggi le linee
- per ciascuna linea tokenizza in base a qualche regex (o magari è anche  
più semplice) e mettilo in un array
- etc…

come vedi sono operazioni molto semplici prese singolarmente 😉

ciao,  
A.

Il 04/08/2010 10:20, Francisco M. ha scritto:

---

<div class="post-metadata">

**Author:** ![cisco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/ccd318/32.png) [@cisco](https://www.ruby-forum.com/u/cisco)\
**Post date:** [August 4, 2010, 12:03pm UTC](https://www.ruby-forum.com/t/metodo-con-array/192702/3 "2010-08-04T12:03:49Z")

</div>

Mi dispiace, ma come ho spiegato sono nuovo del settore; grazie comunque  
per la disponibilitÃ¡.

F.

---

<div class="post-metadata">

**Author:** ![cisco](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/ccd318/32.png) [@cisco](https://www.ruby-forum.com/u/cisco)\
**Post date:** [August 4, 2010, 2:47pm UTC](https://www.ruby-forum.com/t/metodo-con-array/192702/4 "2010-08-04T14:47:56Z")

</div>

On Aug 4, 2010, at 10:20 AM, Francisco M. wrote:

> Ho un file txt che contiene parole e simboli di punteggiatura SEPARATI  
> DA UNO SPAZIO (è un testo tokenizzato).  
> Devo scrivere un metodo che prenda come argomento d’entrata il file con  
> il testo tokenizzato per ottenere alla fine un array di tokens. Il  
> risultato dovrebbe essere il seguente. [..]
> 
> token 1= La  
> token 2= casa  
> token 3= è  
> token 4= grande  
> token 5= .

$ irb  
ruby-1.9.1-p378 \> text = %(antani tapioca supercazzola come se fosse  
sbiriguda .)  
=\> “antani tapioca supercazzola come se fosse sbiriguda .”

# puoi usare File.read(‘file.txt’) al posto dell’inizializzazione

statica

ruby-1.9.1-p378 \> tokens = text.split(/ +/)  
=\> [“antani”, “tapioca”, “supercazzola”, “come”, “se”, “fosse”,  
“sbiriguda”, “.”]

# il ‘+’ nella regex tratta più spazi consecutivi come uno singolo

ruby-1.9.1-p378 \> i=0; tokens.inject({}) {|h, tok| h.update(“token  
#{i+=1}” =\> tok)}  
=\> {“token 1”=\>“antani”, “token 2”=\>“tapioca”, “token  
3”=\>“supercazzola”, “token 4”=\>“come”, “token 5”=\>“se”, “token  
6”=\>“fosse”, “token 7”=\>“sbiriguda”, “token 8”=\>“.”}

Non mi è molto chiara la necessità dell’ultima rappresentazione che  
richiedi,  
anche per questo l’implementazione non è il massimo della bellezza. 🙂

HTH,

## ~Marcello

~ [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
~ [http://www.linkedin.com/in/marcellobarnaba](http://www.linkedin.com/in/marcellobarnaba)  
~ [http://sindro.me/](http://sindro.me/)
