Ruby/Rails - получить последние два значения в массиве @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] @numbers.last даст мне 8 Мне нужно взять последние две записи. Пока я пробовал это, однако он бросает NoMethodError: @numbers.last - 1 Ответ 1 last принимает аргумент: @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] @numbers.last(2) # => [7,8] Если вы хотите удалить последние два элемента: @numbers.pop(2) #=> [7, 8] p @numbers #=> [1, 2, 3, 4, 5, 6] Ответ 2 Массивы определяются с помощью [] not {}. Вы можете использовать отрицательные индексы и диапазоны, чтобы делать то, что вы хотите: >> @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] #=> [1, 2, 3, 4, 5, 6, 7, 8] >> @numbers.last #=> 8 >> @numbers[-2..-1] #=> [7, 8] Ответ 3 Попробуйте это @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] length = @numbers.length @numbers[length - 2..length - 1] => [7, 8]
Ответ 1 last принимает аргумент: @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] @numbers.last(2) # => [7,8] Если вы хотите удалить последние два элемента: @numbers.pop(2) #=> [7, 8] p @numbers #=> [1, 2, 3, 4, 5, 6]
Ответ 2 Массивы определяются с помощью [] not {}. Вы можете использовать отрицательные индексы и диапазоны, чтобы делать то, что вы хотите: >> @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] #=> [1, 2, 3, 4, 5, 6, 7, 8] >> @numbers.last #=> 8 >> @numbers[-2..-1] #=> [7, 8]
Ответ 3 Попробуйте это @numbers = [ 1, 2, 3, 4, 5, 6, 7, 8 ] length = @numbers.length @numbers[length - 2..length - 1] => [7, 8]