我将Ruby 1.8.6与Rails 1.2.3结合使用,需要确定两个数组是否具有相同的元素,而不管它们的顺序是否相同.其中一个数组保证不包含重复的数组(另一个可能包含重复的数组,在这种情况下,答案是否定的).

我的第一个 idea 是

require 'set'
a.to_set == b.to_set

但我想知道是否有更有效或更惯用的方法来做这件事.

推荐答案

这不需要转换来设置:

a.sort == b.sort

Ruby相关问答推荐

当bsearch将数组中的第一个元素与2个值匹配时,它返回nil.为什么?

使用 RSpec 测试嵌套哈希时随机排序数组的匹配

如何在 Shopify 脚本编辑器中显示数组值?

有没有一种简单的方法可以在 Ruby 中获取图像尺寸?

如何在没有 Web 服务器的情况下从命令行执行 ruby​​ 模板文件 (ERB)?

将ruby数组转换为连续对数组

如何在 Ruby 中初始化 Hash 中的数组

如何将 STDOUT 捕获到字符串?

Ruby:module、require和include

Ruby 中 Array#reject 的反义词是什么?

确定一个值是否存在于哈希数组中

使用 `?`(问号)在 Ruby 中获取 ASCII 字符代码失败

获取下周一(或一周中的任何一天)的日期的 Ruby 代码

为什么 Ruby 没有真正的 StringBuffer 或 StringIO?

Ruby - time.now UTC

如何计算Ruby日期的星期几?

OpenSSL vs GPG 用于加密异地备份?

如何使用#{variable}在Ruby中格式化带有浮点数的字符串?

JavaScript Array:获取项目的范围

查找模块中可用的类