当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.permutation()用法及代码示例


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 的长度小于调用时在方法中传递的整数参数,则您可以说置换是不可能的。



相关用法


注:本文由纯净天空筛选整理自 Array.permutation() Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。