【问题标题】:Can't compare Fixnum with nil in Ruby无法在 Ruby 中将 Fixnum 与 nil 进行比较
【发布时间】:2013-05-01 22:49:35
【问题描述】:

我正在尝试进行冒泡排序。我正在传递bubble_sort([5, 4, 3, 2, 1]),我收到一条错误消息:ArgumentError: comparison of Fixnum with nil failed。我不认为arr[i]arr[i + 1]nil。请帮忙。这是我的代码:

def bubble_sort(arr)

  until arr == arr.sort
    i = 0
    while i < arr.length
      if arr[i] > arr[i + 1]
        arr[i], arr[i + 1] = arr[i + 1], arr[i]
      end
      i += 1
    end
  end
  arr
end

【问题讨论】:

    标签: ruby arrays while-loop fixnum


    【解决方案1】:

    我想你的意思是while i &lt; (arr.length - 1)

    【讨论】:

    • 又一个很好的例子,为什么你应该更喜欢迭代器方法而不是循环。
    猜你喜欢
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    相关资源
    最近更新 更多