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


Ruby Array.permutation()用法及代碼示例


Ruby Array.permutation() 方法

在本文中,我們將研究 Array.permutation() 方法。你們一定認為該方法必須做一些與創建某些元素的排列相關的事情。它並不像看起來那麽簡單。好吧,我們將在其餘內容中解決這個問題。我們將嘗試借助語法和演示程序代碼來理解它。

方法說明:

此方法是一個公共實例方法,是為 Ruby 庫中的 Array 類定義的。此方法的用法方式是從 Array 實例中獲取元素並根據方法中傳遞的數字進行排列,然後返回 Array 實例本身。此方法不保證產生的元素的順序。使用塊或數組調用此方法,並且在 .to_a 方法的幫助下將結果轉換為 Array 實例。

如果您不提供任何塊,則返回枚舉數本身。

用法:

    permutation(n) { |c| block }

所需參數:

這種方法隻需要一個參數。此參數決定了 Array 實例的元素可能的排列數。

範例1:

=begin
Ruby program to demonstrate permutation method
=end

a = [1, 2, 3]
puts "Array permutation method"

print a.permutation(1).to_a  
puts ""
print a.permutation(2).to_a
puts ""  
print a.permutation(3).to_a

輸出

Array permutation method
[[1], [2], [3]]
[[1, 2], [1, 3], [2, 1], [2, 3], [3, 1], [3, 2]]
[[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]

說明:

在上麵的代碼中,您可以觀察到該方法用於創建數組元素的排列。排列是根據方法內部傳遞的參數創建的。可以進行 N 種組合,n 可以是 Array 實例的長度乘以方法中傳遞的整數的乘積。

範例2:

=begin
Ruby program to demonstrate permutation method
=end

a = ["Sucharu","Shalini"]
puts "Array permutation method"

print a.permutation(1).to_a  
puts ""
print a.permutation(2).to_a
puts ""  
print a.permutation(3).to_a

輸出

Array permutation method
[["Sucharu"], ["Shalini"]]
[["Sucharu", "Shalini"], ["Shalini", "Sucharu"]]
[]

說明:

在上麵的示例中,您可以觀察到此方法也適用於 String Array 實例。此方法在進行排列後返回元素。在 String Array 的情況下,該方法將返回 "nil" 或者如果 Array 的長度小於調用時在方法中傳遞的整數參數,則您可以說置換是不可能的。



相關用法


注:本文由純淨天空篩選整理自 Array.permutation() Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。