Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Ruby generátor sekvencí

Ahoj, vím, že by to šlo napsat i procedurálně pomocí inicializace proměnné a cyklu, ale ruby je elegantní jazyk, tak se ptám, jestli neexistuje přímo v ruby ekvivalent tohoto (přímo funkce seq)

def seq(start=1,step=1)
 Enumerator.new{|y|
  loop { 
   y<<start
   start+=step
  }
 }
end

seq(10,3).take 4
#=> [10, 13, 16, 19]

Případně s přimhouřením oka takto

(1..Float::INFINITY).lazy.map{|a|10+3*(a-1)}
Předmět Autor Datum
10.step(20, 3).to_a => [10, 13, 16, 19] nový
los 02.02.2014 17:03
los
Potřebuji právě do nekonečna.. naštěstí vyřešeno 1.step(Float::INFINITY,5) poslední
mnua.al 02.02.2014 20:05
mnua.al

Potřebuji právě do nekonečna.. naštěstí vyřešeno 1.step(Float::INFINITY,5)

Zpět do poradny Odpovědět na původní otázku Nahoru