我正在尝试在 ruby 中合并两个对象数组。对象有两个相关字段;id和reach_cost。
我希望我的结果数组包含唯一的 id,其中每个对象在发生碰撞时具有最小的reach_cost。
跑步;
result = a1 | a2;
产生混合结果,似乎a1的元素优先于a2的元素。
我当然可以遍历两个数组并手动对element.reach_cost进行比较,但这是一个高性能环境,这种方法被称为非常多。出于这个原因,我试图利用 | 的原生组件。操作员。
是否可以指导 | 操作员更喜欢一个对象而不是另一个对象?也许通过覆盖 <=> 或类似的?
我已经阅读了 | 的源代码 文档中的运算符,但它似乎没有进行任何比较,只是更喜欢第一个数组参数而不是第二个。