Hola Cristhian
2009/7/6 Cristhian Boujon <[email protected]>:
> Gente, para aprender y comprender bien esto de realizar metodos que acepten
> bloques como parámetros me plantié el siguiente problema "como haría un
> select?"
[..]
> con yield puedo devolver cada elemento de la lista, eso lo sé. Haciendo algo
> así como
>
> for each element
> yield(element)
>
> pero como hago la comprobación de la condicion x > 6
>
> y si es verdadero lo agrego en una lista?
Podes usar lo que devuelve el bloque para comparar. Por ejemplo:
def select(arreglo)
arreglo.map { |e| e if yield(e) }.compact
end
puts select([1,2,3,4,5,6]) { |x| x > 3 }
Saludos
--
Luis Parravicini
http://ktulu.com.ar/blog/
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar