7

2 つの Ruby 配列を比較して、最初の配列のすべての要素が 2 番目の配列に含まれていることを確認しようとしています。(逆は必要ありません。)

例えば:

a = ["hello", "goodbye"]
b = ["hello", "goodbye", "orange"]

これは true を返すはずです。

ただし、これを可能にする方法がわかりません。どんな助けでも大歓迎です!

4

2 に答える 2

10

同じことを確認する方法はたくさんあります:

a = ["hello", "goodbye"]
b = ["hello", "goodbye", "orange"]
(a - b).empty? # => true
a.all?{|i| b.include? i }
# => true

a = ["hello", "welcome"]
b = ["hello", "goodbye", "orange"]
(a - b).empty? # => false
a.all?{|i| b.include? i }
# => false
于 2013-06-29T05:59:23.873 に答える
9

ここでは、配列セットのロジックが優れています。

a & b == a

a & baは、 と の両方に存在する要素から構成される新しい配列を生成しbます。次に、それをテストしaて、断面にaそれ自体のすべての要素が含まれていることを確認できます。詳細については、 Array#&のマニュアル エントリを参照してください。

于 2013-06-28T23:01:19.663 に答える