Katakanlah saya punya array
[0, 132, 432, 342, 234]
Apa cara termudah untuk menyingkirkan elemen pertama? (0)
ruby-on-rails
ruby
NullVoxPopuli
sumber
sumber
Jawaban:
"pop" ing elemen pertama Array disebut " shift " ("unshift" adalah operasi penambahan satu elemen di depan array).
sumber
nil
array kosong. Lihatdrop
alternatifnya, sebagaimana disebutkan dalam jawaban lainnya.dan tambahan:
sumber
[].drop(1) => []
shift
memutasikan larik di tempat dan mengembalikan elemen yang digeser (ataunil
jika larik kosong)Gunakan
shift
metode pada arrayJika Anda ingin menghapus dan memulai elemen yang dapat Anda gunakan
x.shift(n)
sumber
Jadi tidak seperti ini
shift
atauslice
ini mengembalikan array yang dimodifikasi (berguna untuk satu liner).sumber
[][1..-1] => nil
dan tidak[]
.[1,2,3].shift
satu kalimat?arry[1..-1] || []
. Tapi arry.drop (1) bahkan lebih baik.Ini cukup rapi:
Seperti yang tertulis di komentar, ada keuntungan tidak mengubah daftar asli.
sumber
(let ((head (car mylist)) (tail (cdr mylist)) ...)
header, *properties = CSV.read(file_path,encoding: 'ISO-8859-1')
atau
a.delete_at 0
sumber
Gunakan metode shift
https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
sumber
Kamu bisa memakai:
mengiris! digeneralisasikan ke indeks atau rentang apa pun.
sumber
Anda dapat menggunakan metode Array.delete_at (0) yang akan menghapus elemen pertama.
sumber
unless x.empty?
itu tidak perlu. Ini hanya mengembalikannil
jika indeks berada di luar jangkauan.Kamu bisa memakai:
Keduanya bisa bekerja
sumber
Anda dapat menggunakan:
arr - [arr[0]]
atau yang lainarr - [arr.shift()]
atau hanyaarr.shift(1)
sumber