# Come non stampare l'ultima riga da irb?

**URL:** <https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007>\
**Category:** IT\
**Created:** [November 15, 2009, 4:11pm UTC](https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007 "2009-11-15T16:11:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gnagno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/b19c9b/32.png) [@gnagno](https://www.ruby-forum.com/u/gnagno)\
**Post date:** [November 15, 2009, 4:11pm UTC](https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007/1 "2009-11-15T16:11:07Z")

</div>

Salve a tutti,

questo Ã¨ il mio primo post e spero di non fare una domanda (troppo)  
banale visto che mi sto avvicinando da pochissimo a questo fantastico  
linguaggio (provengo da Java, Php e C/C++).

Uso molto spesso irb per fare delle prove col codice che sto per  
scrivere, mi ci trovo benissimo, l’unica cosa che mi da un po noia Ã¨  
vedere sempre quell’ultima riga ogni volta che eseguo un comando; mi  
spiego meglio con un esempio:

sto cercando un metodo in una classe; quindi scrivo una regexp per  
trovarlo cosÃ¬:

r = \blabla\

digito quindi:

Classe.methods.each {|m| puts m if m =~ r }

per trovare tutti i metodi che matchano la mia regexp, il codice  
funziona ma mi viene comunque stampata la lista di tutti i metodi della  
classe che mi satura il terminale… come posso farmi stampare solo la  
lista dei metodi e non tutti i metodi della classe?

Grazie  
Gnagno

Magari c’Ã¨ un metodo migliore per trovare un metodo di una classe data  
una regexp, non mi dispiacerebbe saperlo 🙂

---

<div class="post-metadata">

**Author:** ![gnagno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/b19c9b/32.png) [@gnagno](https://www.ruby-forum.com/u/gnagno)\
**Post date:** [November 15, 2009, 4:19pm UTC](https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007/2 "2009-11-15T16:19:36Z")

</div>

Ciao Ignazio,

2009/11/15 Ignazio M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> sto cercando un metodo in una classe; quindi scrivo una regexp per  
> trovarlo così:
> 
> r = \blabla\

r = /blabla/

> digito quindi:
> 
> Classe.methods.each {|m| puts m if m =~ r }

> per trovare tutti i metodi che matchano la mia regexp, il codice  
> funziona ma mi viene comunque stampata la lista di tutti i metodi della  
> classe che mi satura il terminale… come posso farmi stampare solo la  
> lista dei metodi e non tutti i metodi della classe?

Ti ritorna tutta la lista perché irb valuta l’espressione che hai  
inserito.  
Per rendere la cosa più leggibile, puoi semplicemente ritornare un valore  
diverso. Ad esempio potresti fare  
così:

> > Kernel.methods.each {|m| puts m if m =~ r } && true  
> > print  
> > printf  
> > sprintf  
> > =\> true

Ma each non è il metodo migliore per quello che vuoi fare tu.  
Semplicemente  
usa select:

> > Kernel.methods.select {|m| m =~ r }  
> > =\> [“print”, “printf”, “sprintf”]

## Ciao, Antonio

[http://ThinkCode.TV](http://ThinkCode.TV) - Screencast e videocorsi di programmazione  
[http://antoniocangiano.com](http://antoniocangiano.com) - Zen and the Art of Programming  
[http://math-blog.com](http://math-blog.com) - Mathematics is wonderful!  
Follow me on Twitter: [http://twitter.com/acangiano](http://twitter.com/acangiano)  
Author of “Ruby on Rails for Microsoft Developers” (Wrox, 2009)

---

<div class="post-metadata">

**Author:** ![gnagno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/b19c9b/32.png) [@gnagno](https://www.ruby-forum.com/u/gnagno)\
**Post date:** [November 15, 2009, 5:34pm UTC](https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007/3 "2009-11-15T17:34:37Z")

</div>

Grazie mille 🙂

---

<div class="post-metadata">

**Author:** ![gnagno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/b19c9b/32.png) [@gnagno](https://www.ruby-forum.com/u/gnagno)\
**Post date:** [November 18, 2009, 10:57pm UTC](https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007/4 "2009-11-18T22:57:23Z")

</div>

> …per trovare tutti i metodi che matchano la mia regexp, il codice  
> funziona ma mi viene comunque stampata la lista di tutti i metodi della  
> classe che mi satura il terminale… come posso farmi stampare solo la  
> lista dei metodi e non tutti i metodi della classe?

Di default, irb ti visualizza il risultato dell’ultima istruzione  
eseguita. Per disabilitare questo (e stampare solo esplicitamente,  
tramite puts), digita:  
conf.echo=false

ciao  
Massimo

---

<div class="post-metadata">

**Author:** ![gnagno](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/b19c9b/32.png) [@gnagno](https://www.ruby-forum.com/u/gnagno)\
**Post date:** [November 19, 2009, 3:50pm UTC](https://www.ruby-forum.com/t/come-non-stampare-lultima-riga-da-irb/179007/5 "2009-11-19T15:50:08Z")

</div>

maner never wrote:

> Di default, irb ti visualizza il risultato dell’ultima istruzione  
> eseguita. Per disabilitare questo (e stampare solo esplicitamente,  
> tramite puts), digita:  
> conf.echo=false
> 
> ciao  
> Massimo

Ottimo, ora irb funziona come piace a me 🙂

grazie mille!!!
