我想知道一个数组中是否包含一个或多个特定的值。例如,如下所示:
[1,2,3,4,5,6].include?([4,1]) # => true
[4,1,6,2].include?([4,1]) # => true
[3,4,7].include?([4,1]) # => false
当然,"include?"方法只能检查一个值。是否有一种方法可以检查多个值?我想知道一个数组中是否包含一个或多个特定的值。例如,如下所示:
[1,2,3,4,5,6].include?([4,1]) # => true
[4,1,6,2].include?([4,1]) # => true
[3,4,7].include?([4,1]) # => false
当然,"include?"方法只能检查一个值。是否有一种方法可以检查多个值?这将检查数组中是否存在元素:
students = ["jim", "bob", "sally"]
teachers = ["mrs. jones", "mrs. sharpe", "mrs. ray"]
puts "what's your name ?"
answer = gets.chomp
if answer.include?(students.to_s)
puts "you are a student"
elsif
puts "you are a teacher"
end
如果要检查数组值是否包含单个或多个元素,可以将数组转换为“set”,然后可以使用以下方法:“subset?”。
require "set"
a = [1,2,3,4,5,6]
b = [3,6]
b.to_set.subset?a.to_set //true
b= [3,7]
b.to_set.subset?a.to_set //false