Ricercare il valore + vicino in un array

ho un array di interi ad es. [0,3,5[

e un intero ad es 2
esiste un funzione che mi ritorna il valore + vicino dell’array
all’intero??
in questo caso dovrebbe ritornare 3

Nel caso invece l’intero fosse 6 la funzione dovrebbe ritornare 0

E’ possibile?
Grazie

Il giorno 07/nov/07, alle ore 12:55, Luca R. ha scritto:

ho un array di interi ad es. [0,3,5[

e un intero ad es 2
esiste un funzione che mi ritorna il valore + vicino dell’array
all’intero??
in questo caso dovrebbe ritornare 3

Nel caso invece l’intero fosse 6 la funzione dovrebbe ritornare 0

class Array
def nearest(n)
return min if n > max
result = max
sort.reverse.each do |e|
return result if e < n
result = e
end
end
end

Sicuramente esiste un metodo più clever, ma questo funziona :slight_smile: