【发布时间】:2013-07-19 05:37:31
【问题描述】:
下面的代码报错:
def bubble_sort(arr)
until arr == arr.sort do
(arr.count - 1).times do |i|
(arr[i], arr[i + 1] = arr[i + 1], arr[i]) if (arr[i] > arr[i + 1])
end
end
arr
end
(eval):433: (eval):433: 编译错误(SyntaxError)
(eval):426: 语法错误,意外的 kDO_COND,期待 kEND (arr.count - 1).times do |i| ^
(eval):433: 语法错误,意外 kEND,期待 $end
但是下面的另一个变体成功通过了。为什么?
def bubble_sort(arr)
begin
(arr.count - 1).times do |i|
(arr[i], arr[i + 1] = arr[i + 1], arr[i]) if (arr[i] > arr[i + 1])
end
end until arr == arr.sort
arr
end
【问题讨论】:
-
错误在其他地方......两者都对我有用
-
我正在使用 Codecademy 的网络解释器...
-
你正在从那里学习它的好处。除了安装一个 ruby 版本和任何编辑器。尽可能多地在你的个人机器上练习......
-
你真的认为这个问题是关于冒泡排序的吗?它不是。它与冒泡排序无关。
-
@Borodin OP 将其标记为冒泡排序。我看到很多问题都被标记为问题中出现但根本不重要的某个单词。我真的很想知道这些人在想什么。