Dty*_*Dty 6 ruby ruby-on-rails
我一直在玩 ruby 中的数组切片,但我不明白下面的最后两个结果:
a = [1,2,3]
a[2,1] # output is [3]
a[3,1] # output is [] ...why??
a[4,1] # output is nil ...according to the docs this makes sense
Run Code Online (Sandbox Code Playgroud)
为什么a[3,1]在a[4,1]nil 时会是一个空数组?
如果有的话,我也希望a[3,1]返回 nil。根据ruby 文档,如果起始索引超出范围,则数组拆分应返回 nil。那么为什么a[3,1]不返回零呢?
注意:这是在 ruby 1.9.2 上
您要求数组的结尾,即[]. 这样看:[1,2,3]可以认为Array是由 cons 单元构成的,例如:(1, (2, (3, ())), 或1:2:3:[]。第三个索引(第 4 项)显然是[]。