0
我想從一個Array
刪除值,並得到仍然是這樣的:如何讓留`delete_at`而不破壞
a = [1, 2, 3, 4]
=> [1, 2, 3, 4]
a.delete_at(2)
=> 3
a
=> [1, 2, 4]
我怎樣才能不[1, 2, 4]
變量的破壞?
我想從一個Array
刪除值,並得到仍然是這樣的:如何讓留`delete_at`而不破壞
a = [1, 2, 3, 4]
=> [1, 2, 3, 4]
a.delete_at(2)
=> 3
a
=> [1, 2, 4]
我怎樣才能不[1, 2, 4]
變量的破壞?
有幾個方法,你可以做,誠然,他們似乎並不很優雅:
a[0..1] + a[3..-1]
# => [1, 2, 4]
a.dup.tap { |x| x.delete_at(2) }
# => [1, 2, 4]
a.values_at(0..1, 3..-1)
# => [1, 2, 4]
我個人認爲,這傳達你的意圖的方式最好是:
a.reject.with_index { |_, i| i == 2 }
# => [1, 2, 4]