Ruby Array.permutation() 方法
在本文中,我们将研究 Array.permutation() 方法。你们一定认为该方法必须做一些与创建某些元素的排列相关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法和演示程序代码来理解它。
方法说明:
此方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法的用法方式是从 Array 实例中获取元素并根据方法中传递的数字进行排列,然后返回 Array 实例本身。此方法不保证产生的元素的顺序。使用块或数组调用此方法,并且在 .to_a 方法的帮助下将结果转换为 Array 实例。
如果您不提供任何块,则返回枚举数本身。
用法:
permutation(n) { |c| block }
所需参数:
这种方法只需要一个参数。此参数决定了 Array 实例的元素可能的排列数。
范例1:
=begin
Ruby program to demonstrate permutation method
=end
a = [1, 2, 3]
puts "Array permutation method"
print a.permutation(1).to_a
puts ""
print a.permutation(2).to_a
puts ""
print a.permutation(3).to_a
输出
Array permutation method [[1], [2], [3]] [[1, 2], [1, 3], [2, 1], [2, 3], [3, 1], [3, 2]] [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]
说明:
在上面的代码中,您可以观察到该方法用于创建数组元素的排列。排列是根据方法内部传递的参数创建的。可以进行 N 种组合,n 可以是 Array 实例的长度乘以方法中传递的整数的乘积。
范例2:
=begin
Ruby program to demonstrate permutation method
=end
a = ["Sucharu","Shalini"]
puts "Array permutation method"
print a.permutation(1).to_a
puts ""
print a.permutation(2).to_a
puts ""
print a.permutation(3).to_a
输出
Array permutation method [["Sucharu"], ["Shalini"]] [["Sucharu", "Shalini"], ["Shalini", "Sucharu"]] []
说明:
在上面的示例中,您可以观察到此方法也适用于 String Array 实例。此方法在进行排列后返回元素。在 String Array 的情况下,该方法将返回 "nil" 或者如果 Array 的长度小于调用时在方法中传递的整数参数,则您可以说置换是不可能的。
相关用法
- Ruby Array.pack()用法及代码示例
- Ruby Array.product()用法及代码示例
- Ruby Array.reject用法及代码示例
- Ruby Array.repeated_permutation()用法及代码示例
- Ruby Array.index()用法及代码示例
- Ruby Array.rassoc(obj)用法及代码示例
- Ruby Array.values_at()用法及代码示例
- Ruby Array.each用法及代码示例
- Ruby Array.sort用法及代码示例
- Ruby Array.unshift()用法及代码示例
- Ruby Array.reverse用法及代码示例
- Ruby Array.rotate()用法及代码示例
- Ruby Array.repeated_combination()用法及代码示例
- Ruby Array.replace()用法及代码示例
- Ruby Array.drop_while用法及代码示例
- Ruby Array.sort_by用法及代码示例
- Ruby Array.shift用法及代码示例
- Ruby Array.assoc(obj)用法及代码示例
- Ruby Array.join()用法及代码示例
- Ruby Array.delete_if用法及代码示例
注:本文由纯净天空筛选整理自 Array.permutation() Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。