title: LocalJumpError (Ruby on Rails)
body: <p>I have searched/Googled around but I'm struggling with the following problem.</p>
  
  <p>I am building a Rails 2.3.2 application and one of the requirements is to calculate the median of an array of results.  I am using code for calculating the median from the Ruby Cookbook but keep running in to a problem with receiving an error 'LocalJumpError - no block given' when I attempt to find the median of an array where there are an odd number of members.</p>
  
  <p>The example code in my view is as follows:</p>
  
  <pre><code>&lt;%= survey_response.median([6,4,5,4,4,2]) %&gt;
  </code></pre>
  
  <p>Then in survey_response.rb model the methods are as follows:</p>
  
  <pre><code>def mean(array)
    array.inject(array.inject(0) { |sum, x| sum += x } / array.size.to_f)
  end
  
  def median(array,already_sorted=false)
    return nil if array.empty?
    array = array.sort unless already_sorted
    m_pos = array.size / 2
    return array.size % 2 == 1 ? array[m_pos] : mean(array[m_pos-1..m_pos])      
  end
  </code></pre>
  
  <p>The error is caused when the median method refers back to the mean method to get the media of an odd total of items in the array.  I just can't figure out why I get that error or indeed how to fix it - so I'd hugely appreciate any help/guidance/laughing anybody could offer me!</p>
  
  <p>Thanks</p>
  
  <p>Simon</p>