当我将应用程序切换到 Ruby3+ 版本时,这是一个非常令人惊讶的发现。
尽管这是一个重大版本升级,但仍然..
从 stdlib 中删除已经存在至少 10 年(从 1.9.3 开始?)的Core 数据类型看起来很奇怪。
有什么我不知道的令人信服的理由吗?
它引发的错误:
“该类
SortedSet已从set库中提取。您必须使用sorted_setgem 或其他替代品。”
经过一番搜索后,我发现了以下内容:
它需要 RBTree 才能正常运行,并且外部依赖项不适合标准库。纯ruby后备实现最初是为了演示如何编写Set的子类,其性能较差,不适合在生产中使用。
我决定它应该作为外部库分发,而不是与 Set 捆绑在一起。
为了保持简短:
由于依赖性和性能原因,SortedSet 已被删除。