Saya tidak bisa memikirkan cara satu baris untuk melakukan ini. Apakah ada cara?
Saya tidak bisa memikirkan cara satu baris untuk melakukan ini. Apakah ada cara?
Jawaban:
Bagaimana dengan menggunakan unshiftmetode ini?
ary.unshift(obj, ...) → ary
Sertakan objek ke depan diri, gerakkan elemen lainnya ke atas.
Dan digunakan:
irb>> a = [ 0, 1, 2]
=> [0, 1, 2]
irb>> a.unshift('x')
=> ["x", 0, 1, 2]
irb>> a.inspect
=> "["x", 0, 1, 2]"
shiftdan tentang unshiftyang menambahkan ke array dan yang menghapus dari array, drop 'f' dari nama-nama secara mental dan Anda mendapatkan gambar yang terlalu jelas tentang arah. (Dan kemudian Anda harus ingat bahwa metode ini tidak bekerja pada "akhir" array.;)
Anda juga dapat menggunakan penggabungan array :
a = [2, 3]
[1] + a
=> [1, 2, 3]
Ini menciptakan array baru dan tidak mengubah yang asli.
Kamu bisa memakai methodsolver untuk menemukan fungsi Ruby.
Ini skrip kecil,
require 'methodsolver'
solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
Menjalankan cetakan ini
Found 1 methods
- Array#unshift
Anda dapat menginstal methodverver menggunakan
gem install methodsolver
irb> require 'methodsolver'penyebab LoadError: cannot load such file -- method_sourcedari ... dari /var/lib/gems/1.9.1/gems/methodsolver-0.0.4/lib/methodsolver.rb:2. Ruby 1.9.3p484, irb 0.9.6, Ubuntu 14.
prysebagai gantiirb