rubyで部分集合と上位集合を確認する方法

class Array
  def subset?(other)
    return (self - other).empty?
  end
  def superset?(other)
    return other.subset?(self)
  end
end

a = [1,2,3,4]
b = [2,3]
c = [2,3,4,5]

puts c.subset? a   #false
puts b.subset? a   #true
puts c.superset? b #false

※The Ruby Wayの方法を修正(第二版P220)