Momentálne pracujem na jednom algoritmickom probléme v Ruby, využívajúc pritom memoizáciu.
Využívam pritom vlastnú funkciu, a tu je kameň úrazu, pretože za určitých okolností mi neviem preťo vráti nil a potom už neprebehne jednoduché sčítanie čísel (ak som to správne vydedukoval z nasledujúcej chyby) :Tu je môj kód:Kód:`+': nil can't be coerced into Fixnum (TypeError) na riadku 6Online spustiteľné prostredie: https://ideone.com/uYmamKód:$p = Hash.new def Vyber(n) return 0 if n==0 if !($p.has_key?(n)) r = Vyber(n/2) + Vyber(n/3) + Vyber(n/4) r = n if n > r $p[n] = r else r = $p.key(n) end return r end while n = $stdin.gets n = n.chomp.to_i print Vyber(n).to_s + "\n" end
Existuje nejaký postup, ako to ošetriť, resp. robí funkcia niečo s premennými, čo by nemala?


