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


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


Array.repeated_combination() 方法

在本文中,我们将研究 Array.repeated_combination() 方法。你们都必须认为该方法必须做一些与创建某些元素的组合相关的事情。它并不像看起来那么简单。好吧,我们将在其余内容中解决这个问题。我们将尝试借助语法和演示程序代码来理解它。

方法说明:

此方法是一个公共实例方法,是为 Ruby 库中的 Array 类定义的。此方法的用法方式是从 Array 实例中获取元素并根据方法中传递的数字进行重复组合,然后返回 Array 实例本身。此方法不保证产生的元素的顺序。使用块或数组调用此方法,并且在 .to_a 方法的帮助下将结果转换为 Array 实例。

如果您不提供任何块,则返回枚举数本身。

用法:

    array.repeated_combination(n) { |c| block }

所需参数:

这种方法只需要一个参数。此参数决定了 Array 实例的元素可能的重复组合数。

范例1:

=begin
  Ruby program to demonstrate repeated_combination method
=end

# array declaration
a = [1, 2, 3]

print a.repeated_combination(1).to_a  
puts ""

print a.repeated_combination(2).to_a
puts ""  

print a.repeated_combination(3).to_a

输出

[[1], [2], [3]]
[[1, 1], [1, 2], [1, 3], [2, 2], [2, 3], [3, 3]]
[[1, 1, 1], [1, 1, 2], [1, 1, 3], [1, 2, 2], [1, 2, 3], [1, 3, 3], [2, 2, 2], [2, 2, 3], [2, 3, 3], [3, 3, 3]]

说明:

在上面的代码中,您可以观察到该方法用于创建 Array 元素的重复组合。根据方法内部传递的参数创建重复组合。与组合方法不同,方法内部传递的参数不必小于或等于Array实例的长度,这里没有任何强制,可以进行n种组合,n可以是长度的乘积数组实例乘以方法中传递的整数。

范例2:

=begin
  Ruby program to demonstrate repeated_combination method
=end

# array declaration
a = ["Sangita", "Babita"]

print a.repeated_combination(1).to_a  
puts ""

print a.repeated_combination(2).to_a
puts ""  

print a.repeated_combination(3).to_a

输出

[["Sangita"], ["Babita"]]
[["Sangita", "Sangita"], ["Sangita", "Babita"], ["Babita", "Babita"]]
[["Sangita", "Sangita", "Sangita"], ["Sangita", "Sangita", "Babita"], ["Sangita", "Babita", "Babita"], ["Babita", "Babita", "Babita"]]

说明:

在上面的示例中,您可以观察到此方法也适用于 String Array 实例。此方法在进行重复组合后返回元素。组合的数量可以通过将 Array 实例的长度与方法调用时传递给方法的整数相乘来预测。



相关用法


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