ruby:(0…)和(0…)之间的差异

ruby:(0…)和(0…)之间的差异,ruby,range,Ruby,Range,据我所知。。和0。。。“做”和“做”是同一件事,但是如果你看它,它会说 1.和1。。。虽然在技术上代表相同的序列,但它们并不相等。 所以我到处找,找不到有什么区别 上述两个范围的区别是什么?与RubyDocs: rng==obj→ 真假 仅当obj是一个范围,通过将其与==进行比较,具有等效的开始项和结束项,并且具有相同的exclude\U end时,才返回true?设置为范围 因此: 1…结束? =>错误 1....结束? =>正确 1.. == 1. =>错误 因此,正如@max所说,这实际

据我所知。。和0。。。“做”和“做”是同一件事,但是如果你看它,它会说

1.和1。。。虽然在技术上代表相同的序列,但它们并不相等。 所以我到处找,找不到有什么区别

上述两个范围的区别是什么?

与RubyDocs:

rng==obj→ 真假

仅当obj是一个范围,通过将其与==进行比较,具有等效的开始项和结束项,并且具有相同的exclude\U end时,才返回true?设置为范围

因此:

1…结束? =>错误 1....结束? =>正确 1.. == 1. =>错误 因此,正如@max所说,这实际上是一个毫无意义的区别,但从技术上讲,Ruby认为它们是不同的,因为一个在技术上是无限的-1。

来自RubyDocs:

rng==obj→ 真假

仅当obj是一个范围,通过将其与==进行比较,具有等效的开始项和结束项,并且具有相同的exclude\U end时,才返回true?设置为范围

因此:

1…结束? =>错误 1....结束? =>正确 1.. == 1. =>错误 因此,正如@max所说,这实际上是一个毫无意义的区别,但从技术上讲,Ruby认为它们是不同的,因为一个在技术上是无穷大-1。

我猜一个是达到并包括无穷大,而另一个是达到并不包括无穷大?这在实际的基础上是没有意义的,但可能只是因为Ruby存储范围属性的方式不同,我猜一个达到并包含无穷大,而另一个达到并不包含无穷大?这在实际基础上是没有意义的,但可能仅仅因为Ruby存储范围属性的方式而有所不同