(Ruby)如何检查范围是否包含另一个范围的子集?

如果我有两个重叠的范围:

x = 1..10
y = 5..15

当我说:

puts x.include? y 

输出为:

false 

因为两个范围只是部分重叠。

但是,如果我想要在两个范围之间有部分重叠的时候是“真实的”,那我该怎么写呢?换句话说,我需要一种方式来知道一个范围是否包含另一个范围的子集。我假设有一个优雅的方式来写这个在Ruby,但我唯一可以想到的解决方案是冗长的。

小心使用这个大范围,但这是一个优雅的方式来做到这一点:

(x.to_a & y.to_a).empty?

转载注明原文:(Ruby)如何检查范围是否包含另一个范围的子集? - 代码日志