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


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


Ruby Array.combination() 方法

在上一篇文章中,我们已经看到了如何使用 Array.collect 方法。 Array.collect 方法与 Array.map 方法非常相似,因为这两种方法都用于在 Array 实例中创建一些修改。我们还学习了 Array.collect 方法的破坏性和非破坏性版本。在本文中,我们将看到如何实现 Array.combination 方法?我们将借助其语法和程序代码来理解它们。

方法说明:

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

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

用法:

    combination(n) { |c| block }

参数:

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

范例1:

=begin
  Ruby program to demonstrate combination method
=end

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

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

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

print a.combination(3).to_a  
puts ""

print a.combination(4).to_a  
puts ""

print a.combination(0).to_a  
puts ""

print a.combination(5).to_a

输出

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

说明:

在上面的代码中,您可以观察到此方法用于创建 Array 元素的组合。组合是根据方法内部传递的参数创建的。一切都很顺利,直到参数 4 通过,因为数组中存在 4 个元素。当传递数字 0 时,它创建了一个空的 Array 实例,或者您可以说返回了一个空的 Array,当传递了数字 5 时,则返回了一个空的 Array,因为 Array 中不存在五个元素实例。

范例2:

=begin
  Ruby program to demonstrate combination method
=end

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

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

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

print a.combination(3).to_a  
puts ""

print a.combination(4).to_a  
puts ""

print a.combination(0).to_a  
puts ""

print a.combination(5).to_a

输出

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

说明:

在上面的示例中,您可以观察到此方法也适用于 String Array 实例。此方法在组合后返回元素。



相关用法


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