我一直在讨论learnstreet上的项目,但我有点注意到他们访问数组中元素的方式,并希望得到一些澄清。 要访问数组中的第一个元素,我知道我可以执行类似
的操作a = [2,4,5,6,7]
a[0]
output=> 2
然而,在learnstreet网站上,他们通过执行类似
的操作来访问第一个元素a = [2,4,5,6,7]
a[0,1]
output => 2
我的猜测可能是他们正在使用旧版本的ruby,需要你这样做。如果我错了,请纠正我,我只是好奇为什么这样做。
实际上为了验证这一点,我更进了一步并在pry中尝试了但是我注意到使用他们的方法只返回了数组的第一个元素。
我的ruby版本=> ruby 1.9.3p327(2012-11-10修订版37606)[x86_64-darwin12.2.0]
答案 0 :(得分:6)
这只是抓住第一个索引的另一种方式:
a[0, 1]
从0索引开始,抓住一片长度为1。这对于获取数组的“块”或“切片”很有用。通常,当仅涉及阵列的某个项时,使用单个索引版本更清楚。即a[0]
。
有关详细说明,请参阅here。
答案 1 :(得分:2)
最好抓取n个索引值
一个[0..1]
它会将0索引返回索引1 例如: - a = [2,4,5,6,7]
a[0..1]
output => [2,4]
它会整洁干净但它会返回数组中的值而不是字符串。