-3

我需要比较数组中的值。

例如,我的数组是:

[18, 1, 113, 103, 1100, 909, 94, 67, 61]

我需要比较每个值,比如18->1,1->113等等113->103

4

1 回答 1

2

你没有说你想要什么样的比较,但这将遍历数组,比较连续的元素:

puts [
  18, 1, 113, 103, 1100, 909, 94, 67, 61
].each_cons(2).map{ |a, b| a <=> b }

哪个输出:

1
-1
1
-1
1
1
1
1

比较运算符<=>用于排序以比较两个值。它在 时返回 -1,在 时返回a < b0,在 时返回a == b1 a > b

所以,这告诉我们 , 18 > 1, 1 < 113,113 > 103103 < 1100所有其余的都是按降序排列的。

替换<=>为您需要的任何比较。

于 2012-12-30T04:39:47.573 回答