Array.rotate!Ruby中的示例方法
Array.rotate!方法
在本文中,我们将研究Array.rotate!方法。你们都必须认为该方法必须执行与旋转某些元素有关的操作。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法并演示程序代码来理解它。
方法说明:
该方法是一个公共实例方法,为Ruby库中的Array类定义。该方法的工作方式是旋转Array实例中存在的内容或对象。它以以下方式旋转Array元素:将第二个元素视为第一个元素,将最后一个对象视为Array类的对象的第一个元素。如果在方法内部传递任何负整数,则旋转方向相反。Array.rotate!是一种破坏性方法,其中此方法创建的更改将对SelfArray实例的实际顺序产生影响,并且这些更改是永久的。
语法:
array_instance.rotate! -> new_array or array_instance.rotate!(count) -> new_array
Argument(s)需要:
此方法确实采用一个参数,并且该参数决定将从哪个索引中保留旋转。
范例1:
=begin Ruby program to demonstrate rotate! method =end #数组声明 lang = ["C++","Java","Python","Html","Javascript","php","Ruby","Kotlin"] puts "Array rotate! implementation." print lang.rotate! puts "" puts "The first element of the Array is: #{lang[0]}" puts "Array elements are:" print lang
输出结果
Array rotate! implementation. ["Java", "Python", "Html", "Javascript", "php", "Ruby", "Kotlin", "C++"] The first element of the Array is: Java Array elements are: ["Java", "Python", "Html", "Javascript", "php", "Ruby", "Kotlin", "C++"]
说明:
在上面的代码中,您可以观察到借助于Array.rotate,我们正在旋转Array类实例的内容!方法。您可以观察到旋转内容之后,第一个元素是“Java”,最后一个元素是“C++”。由于此方法是一种破坏性方法,因此它对Array实例中元素的实际排列产生了影响。
范例2:
=begin Ruby program to demonstrate rotate! method =end #数组声明 table = [2,4,6,8,10,12,14,16,18,20] puts "Array rotate! implementation" print table.rotate!(-2) puts "" puts "The first element of the Array is: #{table.first}" puts "Array elements are:" print table
输出结果
Array rotate! implementation [18, 20, 2, 4, 6, 8, 10, 12, 14, 16] The first element of the Array is: 18 Array elements are: [18, 20, 2, 4, 6, 8, 10, 12, 14, 16]
说明:
在上面的代码中,您可以观察到该方法也适用于IntegerArray,并且借助于Array.rotate方法,我们正在旋转Array类实例的内容。由于我们在方法内部传递了一个负整数,因此旋转从Array实例的后端开始,而第二个元素从最后一个开始。您可以观察到,在旋转内容之后,第一个元素为18,因为此方法具有破坏性,并且会在Array实例中更改内容的实际排列。