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


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