我想不出一条直线的方法。有办法吗?
当前回答
你可以使用insert:
a = [1,2,3]
a.insert(0,'x')
=> ['x',1,2,3]
第一个参数是要插入的索引,第二个参数是值。
其他回答
array = ["foo"]
array.unshift "bar"
array
=> ["bar", "foo"]
警告,这是毁灭性的!
你也可以使用数组连接:
a = [2, 3]
[1] + a
=> [1, 2, 3]
这将创建一个新数组,并且不修改原始数组。
从Ruby 2.5.0开始,Array附带了prepend方法(这只是unshift方法的别名)。
使用unshift方法怎么样?
必要。Unshift (obj,…)→ary 将对象前置到self的前面,将其他元素向上移动。
并在使用中:
irb>> a = [ 0, 1, 2]
=> [0, 1, 2]
irb>> a.unshift('x')
=> ["x", 0, 1, 2]
irb>> a.inspect
=> "["x", 0, 1, 2]"
你可以使用insert:
a = [1,2,3]
a.insert(0,'x')
=> ['x',1,2,3]
第一个参数是要插入的索引,第二个参数是值。
推荐文章
- 是什么导致这个ActiveRecord::ReadOnlyRecord错误?
- TypeScript枚举对象数组
- 最好的打印散列的方法
- 获取数组值的键名
- Rails:dependent =>:destroy VS:dependent =>:delete_all
- 如何规范化一个NumPy数组到一定的范围内?
- 我可以在不包含Ruby模块的情况下调用实例方法吗?
- 如何计数列表中唯一值的出现
- 如何将新项目添加到哈希
- 如何修剪空白的数组值在php
- 测试一个Ruby类是否是另一个类的子类
- 什么时候使用Struct vs. OpenStruct?
- 比较JUnit断言中的数组,简洁的内置方式?
- 数组到哈希Ruby
- 我如何让红宝石打印一个完整的回溯而不是截断一个?