Я не могу придумать один способ сделать это. Есть ли способ?
Каков самый простой способ подтолкнуть элемент к началу массива?
Ответ 1
Как насчет использования метода unshift
?
ary.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]"
Ответ 2
Вы можете использовать insert
:
a = [1,2,3]
a.insert(0,'x')
=> ['x',1,2,3]
Где первый аргумент - это индекс для вставки, а второй - значение.
Ответ 3
array = ["foo"]
array.unshift "bar"
array
=> ["bar", "foo"]
быть предупрежденным, это разрушительно!
Ответ 4
Вы также можете использовать конкатенацию массива:
a = [2, 3]
[1] + a
=> [1, 2, 3]
Создает новый массив и не изменяет оригинал.
Ответ 5
Вы можете использовать methodsolver
для поиска функций Ruby.
Вот небольшой script,
require 'methodsolver'
solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
Выполнение этих отпечатков
Found 1 methods
- Array#unshift
Вы можете установить метод методов с помощью
gem install methodsolver