The code below, found at

http://github.com/eregon/RPCFN4/blob/master/solutions/benoit_daloze.rb

(with

the last two lines added for testing it) produced the error:

Polynomials.rb:15:in `each_with_index’: no block given (LocalJumpError)

The erronious line is flagged with #=================

Debugging indicates that @ceof is an Array.

What’s up?

# Benoit D.

# Ruby P.ming Challenge For Newbies #4

# pretty-print polynomials

# My solution use Enumerable#inject to build the String,

# with every “monomial” splitted in 3 parts : sign, coefficient and

variable

class Polynomial

def initialize(coef)

raise ArgumentError, “Need at least 2 coefficients” if coef.size < 2

@coef = coef

end

def to_s

return ‘0’ if @coef.all? { |c| c == 0 }

@coef.each_with_index.inject(“”) { |s, (coef, i)| #

<===================================

pow = @coef.length-1-i

if coef == 0

s

else

s +

(coef > 0 ? ‘+’ : ‘-’) + # sign

(coef.abs == 1 && pow != 0 ? ‘’ : coef.abs.to_s) + # coef

(pow < 2 ? ‘x’*pow : “x^#{pow}”) # var

end

}.sub(/^+/, “”)

end

end

p = Polynomial.new( [1, 2] )

puts p

— news://freenews.netfront.net/ - complaints: [email protected] —