我试图找出insertRuby中的函数功能.
我已经咨询了谷歌和ruby-doc.com,但解释不足以描述这个(看似)神秘的功能.
这让我很困惑:
a = %w{a b c d}
puts a.insert(4, 5) output = a,b,c,d,5
Run Code Online (Sandbox Code Playgroud)
提出的第一个问题是,为什么没有插入4?
puts a.insert(2,2,6)
Run Code Online (Sandbox Code Playgroud)
输出是:
a
b
2
6
c
d
Run Code Online (Sandbox Code Playgroud)
提出的两个问题是
the*_*Man 46
我不确定是什么混淆.来自Ruby文档:
ary.insert(index, obj...) -> ary
Run Code Online (Sandbox Code Playgroud)
在具有给定索引的元素之前插入给定值(可能是负数).
a = %w{ a b c d }
a.insert(2, 99) #=> ["a", "b", 99, "c", "d"]
a.insert(-2, 1, 2, 3) #=> ["a", "b", 99, "c", 1, 2, 3, "d"]
Run Code Online (Sandbox Code Playgroud)
因此,在数组偏移量2之前a.insert(2, 99)插入99数组.请记住,数组的索引从0开始,因此这是数组中的第三个插槽.
第二个例子是将数组插入[1,2,3]到倒数第二个数组插槽中,因为负数偏移从数组的末尾开始计算.-1是最后一个索引,-2是倒数第二个.
Array文档说得好:
数组索引从0开始,如在C或Java中.假定负索引相对于数组的末尾 - 也就是说,索引-1表示数组的最后一个元素,-2是数组中最后一个元素的倒数,依此类推.
这些是在编程中学习的非常重要的概念,而不仅仅是在Ruby中.
| 归档时间: |
|
| 查看次数: |
21266 次 |
| 最近记录: |