gpt4 book ai didi

ruby 1.9.2 uniq 方法不适用于自定义类数组

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:20 24 4
gpt4 key购买 nike

我有一组自定义类。我已经在它们上定义了 <=>,并进行了测试以确保我的自定义定义的行为符合预期。我假设我可以调用 [].uniq 并让它过滤掉我的重复项,但那没有发生。我需要重载另一个运算符吗?

最佳答案

Array#uniq 基于相等性,而不是顺序,因此您的对象需要响应 eql?。此外,它使用散列来提高性能,因此您还需要实现 hash

很遗憾,the documentation 中未指定此契约(Contract),但它通常 几乎在每本 Ruby 书籍或类(class)中都有说明。

关于ruby 1.9.2 uniq 方法不适用于自定义类数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com