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

Responder a