From: Richard Lionheart Date: 2009-12-25T02:10:05+09:00 Subject: "No block given" error -- spurious? 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 Daloze # Ruby Programming 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: news@netfront.net ---