El día 24 de septiembre de 2009 14:25, Nicolás Sanguinetti
<[email protected]> escribió:
> 2009/9/24 Matías Flores <[email protected]>:
>> c.values_at(*(0..c.size).select {|e| e%4 == 0})
>
> Igual no me gusta el rango ese, prefiero usar un enumerator
>
>>> ary.values_at(*a.each_index.select {|i| i % 2 == 0 })
> => ["foo", "baz", "cuack"]
>
> Para que eso ande en 1.8.6 sería
>
> require "enumerator"
> ary.values_at(*a.to_enum(:each_index).select {|i| i % 2 == 0 })
>
> Pero en 1.8.7 y 1.9 deberia andar "asi nomas" sin requerir nada.
>
> La forma "autocontenida" (o sea, sin necesidad de referenciar por
> separado al array) seria algo como
>
>>> a.each_with_index.select {|e, i| i % 2 == 0 }.map {|e, i| e }
> => ["foo", "baz", "cuack"]
>
> Pero tenes que iterar dos veces sobre el array, lo cual tampoco encara

Muy bueno! Y ya que estamos, acá va otra:

c.each_slice(4).map {|e| e.first}

Saludos,
Matías
>
>
>> Pediste escribir poco, que sea claro es otro precio... <g>
>>
>> Saludos,
>> Matías
>>
>> El día 24 de septiembre de 2009 13:56, p8queen <[email protected]> escribió:
>>> Gracias. Por las respuestas. Va de nuevo el enunciado.
>>>
>>> La solucion no son los indices, sino los valores cuyos indices sean
>>> congruentes a 0 modulo 4
>>> ejemplo:
>>> dado c = %w{diego luis wilson santiago leandro lucas mariana paula
>>> analia fernando marcela}
>>> salida --> diego, leandro, analia
>>>
>>>
>>> PD: en otro lenguaje la solucion es c[::4]
>>>
>>> --
>>> gustavo c
>>> _______________________________________________
>>> Ruby mailing list
>>> [email protected]
>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>>
>> _______________________________________________
>> Ruby mailing list
>> [email protected]
>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>>
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a