# Metodo max e astronave

**URL:** <https://www.ruby-forum.com/t/metodo-max-e-astronave/141415>\
**Category:** IT\
**Created:** [June 25, 2008, 5:04pm UTC](https://www.ruby-forum.com/t/metodo-max-e-astronave/141415 "2008-06-25T17:04:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![njna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/ac8455/32.png) [@njna](https://www.ruby-forum.com/u/njna)\
**Post date:** [June 25, 2008, 5:04pm UTC](https://www.ruby-forum.com/t/metodo-max-e-astronave/141415/1 "2008-06-25T17:04:12Z")

</div>

Ã¬buon pomeriggio!

dato il seguente frammento:

[…]

@datori = []

[…]

d = @datori.max{|a,b| a.disp \<=\> b.disp}

[…]

l’ultima riga dovrebbe mettere in d quello tra a e b con disp maggiore…  
ma qlc mi sa spiegare la sintassi di quella riga? letteralemte che  
significa?

grazie!

---

<div class="post-metadata">

**Author:** ![njna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/ac8455/32.png) [@njna](https://www.ruby-forum.com/u/njna)\
**Post date:** [June 25, 2008, 5:32pm UTC](https://www.ruby-forum.com/t/metodo-max-e-astronave/141415/2 "2008-06-25T17:32:24Z")

</div>

Per favore, prima di chiedere controlla sull’API doc di Ruby  
[http://www.ruby-doc.org/core/classes/Enumerable.html#M001157](http://www.ruby-doc.org/core/classes/Enumerable.html#M001157)

## Luca

blog: [www.lucaguidi.com](http://www.lucaguidi.com)  
Pro-Netics: [www.pro-netics.com](http://www.pro-netics.com)  
Sourcesense - making sense of Open Source: [www.sourcesense.com](http://www.sourcesense.com)

---

<div class="post-metadata">

**Author:** ![njna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/ac8455/32.png) [@njna](https://www.ruby-forum.com/u/njna)\
**Post date:** [June 25, 2008, 5:45pm UTC](https://www.ruby-forum.com/t/metodo-max-e-astronave/141415/3 "2008-06-25T17:45:20Z")

</div>

> @datori = []  
> d = @datori.max{|a,b| a.disp \<=\> b.disp}
> 
> l’ultima riga dovrebbe mettere in d quello tra a e b con disp maggiore…  
> ma qlc mi sa spiegare la sintassi di quella riga? letteralemte che  
> significa?
> 
> grazie!

In pratica è una sintassi che trovi in diversi metodi (mi viene in mente  
#sort al momento) e che permette di ritornare l’elemento che ritorna la  
#disp maggiore. Credo che un altro esempio sia la spiegazione migliore  
(preso dalla doc segnalata da Luca)

a = %w(albatross dog horse)  
a.max #=\> “horse”  
a.max {|a,b| a.length \<=\> b.length }

In questo caso mi ritorna la stringa con #lenght maggiore.  
Buon lavoro 😉

–  
Andrea R., [http://mikamai.com](http://mikamai.com)  
Writing [http://sensejs.wordpress.com/](http://sensejs.wordpress.com/)  
Collaborating [http://therubymine.it](http://therubymine.it)  
Reading [http://stacktrace.it](http://stacktrace.it)

---

<div class="post-metadata">

**Author:** ![njna](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/ac8455/32.png) [@njna](https://www.ruby-forum.com/u/njna)\
**Post date:** [June 25, 2008, 6:28pm UTC](https://www.ruby-forum.com/t/metodo-max-e-astronave/141415/4 "2008-06-25T18:28:45Z")

</div>

In pratica “dici” al metodo max come calcolare l’ordinamento relativo  
tra i due valori.  
Una cosa simile esiste anche in Perl…

PS: un consiglio, se mi permetti, guarda sempre la documentazione  
ufficiale…può essere fonte di tante ispirazioni 😉

2008/6/25 Andrea R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):
