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

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

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

当我说:

puts x.include? y 

输出为:

false 

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

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

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

(x.to_a & y.to_a).empty?
翻译自:https://stackoverflow.com/questions/699448/ruby-how-do-you-check-whether-a-range-contains-a-subset-of-another-range

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