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


Ruby Array.combination用法及代码示例

用法

combination(n) {|element| ... } → self
combination(n) → new_enumerator

如果给定,则使用 self 的元素组合调用块;返回 self 。组合的顺序是不确定的。

当给定一个块和一个 in-range 正整数参数 n ( 0 < n <= self.size ) 时,调用具有所有 n -tuple 组合的 self 的块。

例子:

a = [0, 1, 2]
a.combination(2) {|combination| p combination }

输出:

[0, 1]
[0, 2]
[1, 2]

另一个例子:

a = [0, 1, 2]
a.combination(3) {|combination| p combination }

输出:

[0, 1, 2]

n 为零时,使用新的空数组调用块一次:

a = [0, 1, 2]
a1 = a.combination(0) {|combination| p combination }

输出:

[]

n 超出范围(负数或大于 self.size )时,不调用该块:

a = [0, 1, 2]
a.combination(-1) {|combination| fail 'Cannot happen' }
a.combination(4) {|combination| fail 'Cannot happen' }

如果没有给出块,则返回一个新的枚举器:

a = [0, 1, 2]
a.combination(2) # => #<Enumerator: [0, 1, 2]:combination(2)>

相关用法

注:本文由堆栈答案筛选整理自ruby-lang.org大神的英文原创作品 Array.combination。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。