我已經搜索/谷歌搜索,但我正在努力解決以下問題。LocalJumpError(Ruby on Rails)
我正在構建一個Rails 2.3.2應用程序,其中一個要求是計算結果數組的中值。我正在使用代碼來計算Ruby Cookbook的中位數,但當我嘗試查找有奇數個成員的數組的中位數時,仍然遇到接收錯誤「LocalJumpError - 沒有給出任何代碼塊」的錯誤問題。
在我的視圖的示例代碼如下:
<%= survey_response.median([6,4,5,4,4,2]) %>
然後在survey_response.rb模型的方法如下:
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
時中值方法是指後面的誤差引起到平均的方法來獲得數組中奇數項目的媒體。我無法弄清楚爲什麼我會遇到這樣的錯誤,或者確實如何解決這個問題 - 所以我非常感謝任何人可以給我提供的任何幫助/指導/大笑!
感謝
西蒙
嘿謝謝回覆 - 不幸的是,沒有什麼區別。當數組中有奇數個項目時,仍然會出現相同的錯誤。有沒有我可以提供的其他信息可能有用? – simonyoung 2009-06-24 09:08:18
謝謝 - 通過編輯mean()函數,這也是一種享受。 – simonyoung 2009-06-24 09:35:28