Voglio creare un filtro ed essere in grado di applicarlo a un array o un hash. Per esempio:Come posso creare un blocco/proc/lambda riutilizzabile in Ruby?
def isodd(i)
i % 2 == 1
end
La voglio essere in grado di usarlo in questo modo:
x = [1,2,3,4]
puts x.select(isodd)
x.delete_if(isodd)
puts x
Questo sembra che dovrebbe essere dritto in avanti, ma non riesco a capire cosa devo fare lo fa funzionare.
È inoltre possibile utilizzare l'operatore "stabby lambda" per creare il processo autonomo. Vedi http://stackoverflow.com/questions/9340117/what-is-the-stab-operator-in-ruby. Disponibile da 'rubino 1.9'. Naturalmente, puramente una questione di gusto e stile di codifica :) – zealoushacker
per chi legge, in futuro, si può anche creare lambda come questo: lambda_name = ->() {puts "Hello World"} – BKSpurgeon