【发布时间】:2017-07-13 13:34:17
【问题描述】:
我看到这篇文章使用了排序比较器,但是我如何按不等排序
ruby's <=> operator and sort method
我有一条短信
猫 猫 猫 猫 猫 狗 狗 狗 狗 狗 堆 堆 堆 堆 堆 星星 星星 星星 星星 星星 列表 列表 列表 列表 列表使用逻辑,当 b1 等于 a b2 时,将 b2 放在最后,但当 b1 不等于 b2 时,将 b2 放在 b1 旁边
获取
猫 狗 堆 星星 列表 猫 狗 堆 星星 列表 猫 狗 堆 星星 列表 猫 狗 堆 星星 列表 猫 狗 堆 星星 列表请帮我解决这个问题
【问题讨论】:
-
是否需要得到这个精确的输出,还是只需要遵循一个规则,没有两个相邻的项目可以相同?
-
如果对
['a', 'a', 'a', 'b']进行排序,结果应该是什么?应该是['a', 'a', 'a', 'b'],还是['a', 'b', 'a', 'a'],还是因为两个相邻元素相等而抛出错误? -
在您的示例中,每个单词有五个。这些组是否总是有相同数量的单词?
-
<=>运算符,通常称为“宇宙飞船运算符”,它不是相等测试,而是差分测试:'a' <=> 'b'是-1,因为'a'是第一位的,'b' <=> 'a'是1因为b在后面,'b' <=> 'b'是0因为它们是等价的。