鉴于:
a1 = [5, 1, 6, 14, 2, 8]
Run Code Online (Sandbox Code Playgroud)
我想确定它是否包含以下所有元素:
a2 = [2, 6, 15]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,结果是false.
是否有任何内置的Ruby/Rails方法来识别这种数组包含?
实现此目的的一种方法是:
a2.index{ |x| !a1.include?(x) }.nil?
Run Code Online (Sandbox Code Playgroud)
有更好,更可读的方式吗?
我正在使用带有Rails 1.2.3的Ruby 1.8.6,并且需要确定两个数组是否具有相同的元素,无论它们是否处于相同的顺序.保证其中一个数组不包含重复项(另一个可能,在这种情况下答案是否定的).
我的第一个想法是
require 'set'
a.to_set == b.to_set
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更有效或惯用的方式.