如果你的变量具有我认为他们所做的那种值,那是因为 include 在这里使用不是正确的方法。
include
如果 @word_bank 和 @rand_ary 是数组, include 将检查是否有任何单个元素 @special_chars 。如果 @special_chars 它本身就是一个数组,然后它只会返回true,如果其中一个元素 @word_bank / @rand_ary 是一个数组。
@word_bank
@rand_ary
@special_chars
['a', 'b', 'c', '!'].include?('!') # => true ['a', 'b', 'c', '!'].include?(['!']) # => false ['a', 'b', 'c', ['!']].include?(['!']) # => true
我想你实际上对它们之间是否有任何重叠感兴趣。在这种情况下,你可以使用交叉口( & )运算符并检查它是否为空。
&
['a', 'b', 'c', '!'] & ['!'] # => ['!'] ['a', 'b', 'c'] & ['!'] # => []