在本文中,我们将研究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实例。