我需要比较数组中的值。
例如,我的数组是:
[18, 1, 113, 103, 1100, 909, 94, 67, 61]
我需要比较每个值,例如18->1
,1->113
,113->103
等等。
答案 0 :(得分: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
比较运算符<=>
用于排序以比较两个值。它在a < b
时返回-1,在a == b
时返回0,在a > b
时返回1.
因此,它告诉我们18 > 1
,1 < 113
,113 > 103
,103 < 1100
以及其他所有内容都按降序排列。
将<=>
替换为您需要的任何比较。