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 實例。此方法在組合後返回元素。
相關用法
- Ruby Array.collect用法及代碼示例
- Ruby Array.cycle()用法及代碼示例
- Ruby Array.reject用法及代碼示例
- Ruby Array.repeated_permutation()用法及代碼示例
- Ruby Array.index()用法及代碼示例
- Ruby Array.pack()用法及代碼示例
- Ruby Array.rassoc(obj)用法及代碼示例
- Ruby Array.values_at()用法及代碼示例
- Ruby Array.each用法及代碼示例
- Ruby Array.sort用法及代碼示例
- Ruby Array.unshift()用法及代碼示例
- Ruby Array.reverse用法及代碼示例
- Ruby Array.rotate()用法及代碼示例
- Ruby Array.repeated_combination()用法及代碼示例
- Ruby Array.replace()用法及代碼示例
- Ruby Array.drop_while用法及代碼示例
- Ruby Array.sort_by用法及代碼示例
- Ruby Array.shift用法及代碼示例
- Ruby Array.assoc(obj)用法及代碼示例
- Ruby Array.permutation()用法及代碼示例
注:本文由純淨天空篩選整理自 Array.combination() Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。