如何实现自定义方法“cover_e?”实现几乎像标准 范围#封面?(VAL) 如果obj在范围的开始和结束之间,则返回true。
("a".."z").cover?("c") #=> true
自定义方法应该使用“嵌套”/“继承”范围,例如:((2..5))
(1..10).cover_e?((2..5)) # true
(5..15).cover_e?((10..20)) # false
谢谢!
答案 0 :(得分:1)
class Range
def cover_e? rng
rng.minmax.all?{|i| self.include? i}
end
end
p (1..10).cover_e?((2..5))
p (5..15).cover_e?((10..20))
# >> true
# >> false
或者
class Range
def cover_e? rng
(rng.to_a | self.to_a).size == self.size
end
end
p (1..10).cover_e?((2..5))
p (5..15).cover_e?((10..20))
# >> true
# >> false
答案 1 :(得分:0)
class Range
def cover_e? other
cover?(other.min) and cover?(other.max)
end
end