Ruby中带有示例的Array.shift方法

Array.shift方法

在本文中,我们将研究Array.shift方法。你们都必须认为该方法必须执行与Array实例中元素或对象的移位有关的操作。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法并演示程序代码来理解它。

方法说明:

该方法是一个公共实例方法,为Ruby库中的Array类定义。此方法以如下方式工作:如果未提供任何参数,则它将从Array实例中删除第一个元素并返回该Array实例。如果为此方法提供整数参数'n',则它将从Array实例中删除前一个'n'元素,并返回一个新的Array实例,其中将包含从Array实例中删除的那些'n'元素。此方法是破坏性方法的示例之一,该方法所产生的更改是永久性的,并且会直接影响Array对象中对象的原始排列。

语法:

    array_instance.shift -> object or nil
    or
    array_instance.shift(n)-> new_array

Argument(s) 需要:

此方法采用一个参数,该参数确定该方法返回的Array实例的长度。

范例1:

=begin
  Ruby program to demonstrate shift method
=end

# 数组声明
table = [2,4,6,8,10,12,14,16,18,20]

puts "Array shift implementation"
pq =table.shift

puts "The element which is removed is #{pq}"

puts "Array instance:"
print table

输出结果

Array shift implementation
The element which is removed is 2
Array instance:
[4, 6, 8, 10, 12, 14, 16, 18, 20]

说明:

在上面的代码中,您可以观察到借助于Array.shift方法,我们正在从Array实例移动或删除元素。您可以观察到Array实例不再具有驻留在第0索引上的对象,因为我们已经与Array实例一起调用了Array.shift方法

范例2:

=begin
  Ruby program to demonstrate shift method
=end

# 数组声明
table = [2,4,6,8,10,12,14,16,18,20]

puts "Array shift implementation"

puts "Enter the number of objects you want to shift:"
num = gets.chomp.to_i

rn = table.shift(num)

puts "The objects shifted from Array instance is #{rn}"
puts "Array instance: #{table}"

输出结果

Array shift implementation
Enter the number of objects you want to shift:
 3
The objects shifted from Array instance is [2, 4, 6]
Array instance: [8, 10, 12, 14, 16, 18, 20]

说明:

在上面的代码中,您可以观察到借助于Array.shift方法,我们正在从Array实例移动或删除元素。你可以观察到Array实例不再具有被驻留在0对象,1和2指数,因为我们已经调用Array.shift方法与Array实例一起。该方法返回一个新的Array实例。