當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。