尝试从数组中删除1位数字并在Ruby中返回数组

时间:2019-07-11 09:30:30

标签: arrays ruby int

我想删除数组的第一位并返回不包含第一项的数组

new_array总是作为单个数字出现

n是整数

array = (n.to_s).split(//)

print array

new_array = array.delete_at(0)

puts new_array

5 个答案:

答案 0 :(得分:2)

从数组中删除前n个元素,并返回数组中的其余元素。

 a = [41,42,43,45,46]
 => [41, 42, 43, 45, 46] 
 a.drop 1
 => [42, 43, 45, 46]

答案 1 :(得分:0)

您可以通过以下方式使用Integer#digitsObject#tap

n = 12345678
position = 3
n.digits.reverse.tap { |ary| ary.delete_at(position) }

#=> [1, 2, 3, 5, 6, 7, 8]

position = 0删除第一个数字。

答案 2 :(得分:0)

irb(main):001:0> arr = (1..10).to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
irb(main):002:0> arr.shift
=> 1
irb(main):003:0> arr
=> [2, 3, 4, 5, 6, 7, 8, 9, 10]

我希望对您有帮助

答案 3 :(得分:0)

您可以使用数组方法drop从数组中删除n个元素

arr = [1, 2, 3, 4, 5]
arr.drop 2
=> [3, 4, 5]

ref:https://docs.ruby-lang.org/en/2.0.0/Array.html#method-i-drop

答案 4 :(得分:-1)

因为delete_at返回已删除的项目。 如果要同时删除和检索第一项,可以使用-

new_array = array.drop(1)