以下块将显示ruit
为什么字符串[1 ..- 1]的工作,但不串[-3..1]
puts "fruit"[1..-1]
,因为该指数从1开始,我想-1代表无穷大在这种情况下
f r u i t
0 1 2 3 4
但是,如果我想使用反向索引,它不起作用。
通过同样的逻辑我希望它可以返回ruit
,为0表示无限
puts "fruit"[-4..0]
f r u i t
-5 -4 -3 -2 -1
然而这其实没有返回。用1再次尝试它,而不是0
puts "fruit"[-4..1]
f r u i t
-5 -4 -3 -2 -1
它只是返回r
-
有5而不是4
puts "fruit"[-5..1]
f r u i t
-5 -4 -3 -2 -1
一些进展尝试它它会返回fr
。
-
但是,它似乎我不明白逆向指数。 [1..-1]
中的-1
不是指无穷大吗?当你尝试做相反的事时,为什么它不起作用?
我会看看红宝石阵列文档,0意味着第一个元素[-3..1]从第三个元素到第二个元素,因此不会返回任何内容。 http://ruby-doc.org/core-2.2.0/Array.html查看访问元素。 [1 ..- 1]中的-1表示最后一个元素。 –
我已经看过这个,我唯一不明白的是[1..- 1]同样不合逻辑。它会从第二个元素到第一个元素到最后一个元素,然后结束 – apdm
Ruby从左到右工作,所以它会从第二个元素到最后一个元素(第五个),而不是第二个元素。 –