Array.flatten 方法
在本文中,我們將研究 Array.flatten 方法。你們一定認為該方法必須做一些與展平 Array 實例相關的事情。它並不像看起來那麽簡單。好吧,我們將在其餘內容中解決這個問題。我們將嘗試借助語法和演示程序代碼來理解它。
方法說明:
此方法是 Ruby 庫中專門為 Array 類定義的 Public 實例方法的示例之一。此方法用於展平 Array 實例。此方法的用法方式是通過將 Array 實例中存在的所有 Array 包含到 self 中來返回一維數組。這種方法可以是破壞性的,也可以是非破壞性的。破壞性方法是那些對 Array 元素產生影響的方法,或者您可以說它們所做的更改是永久性的。 Array.flatten!是此方法的破壞性版本,而非破壞性方法不會在實際的 Array 元素中創建任何更改。
用法:
array_instance.flatten or array_instance.flatten! or array_instance.flatten(level)
所需參數:
在類似 last 語法的類型中,您需要傳遞展平級別。您將在程序的幫助下理解它。
範例1:
=begin
Ruby program to demonstrate flatten method
=end
# array declaration
array1 = ["Kumar",["Ramesh",["Apple","Pappu"],"Sana","Yogita"],"Satyam","Harish"]
puts "Array flatten implementation."
print array1.flatten
puts ""
puts "Array elements are:"
print array1
輸出
Array flatten implementation. ["Kumar", "Ramesh", "Apple", "Pappu", "Sana", "Yogita", "Satyam", "Harish"] Array elements are: ["Kumar", ["Ramesh", ["Apple", "Pappu"], "Sana", "Yogita"], "Satyam", "Harish"]
說明:
在上麵的代碼中,您可以看到所有子數組都被展平並存儲在主數組中,並且它們的元素現在是主數組的直接部分。由於這是非破壞性版本,因此不會對實際 Array 元素產生任何影響。
範例2:
=begin
Ruby program to demonstrate flatten method
=end
# array declaration
array1 = ["Kumar",["Ramesh",["Apple","Pappu"],"Sana","Yogita"],"Satyam","Harish"]
puts "Array flatten implementation."
print array1.flatten!
puts ""
puts "Array elements are:"
print array1
輸出
Array flatten implementation. ["Kumar", "Ramesh", "Apple", "Pappu", "Sana", "Yogita", "Satyam", "Harish"] Array elements are: ["Kumar", "Ramesh", "Apple", "Pappu", "Sana", "Yogita", "Satyam", "Harish"]
說明:
在上麵的代碼中,您可以看到所有子數組都被展平並存儲在主數組中,並且它們的元素現在是主數組的直接部分。由於這是破壞性版本,它會對實際的 Array 元素產生影響。
範例3:
=begin
Ruby program to demonstrate flatten method
=end
# array declaration
array1 = ["Kumar",["Ramesh",["Apple","Pappu"],"Sana","Yogita"],"Satyam","Harish"]
puts "Array flatten implementation."
puts "Enter the level:"
level = gets.chomp.to_i
print array1.flatten(level)
puts ""
puts "Array elements are:"
print array1
輸出
Array flatten implementation. Enter the level: 1 ["Kumar", "Ramesh", ["Apple", "Pappu"], "Sana", "Yogita", "Satyam", "Harish"] Array elements are: ["Kumar", ["Ramesh", ["Apple", "Pappu"], "Sana", "Yogita"], "Satyam", "Harish"]
說明:
在上麵的代碼中,您可以觀察到我們正在詢問用戶她想要在 Array 實例中的展平級別。實際的Array是一個3維的Array,經過1級展平後,現在可以認為是二維的Array實例。
相關用法
- 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()用法及代碼示例
- Ruby Array.join()用法及代碼示例
- Ruby Array.delete_if用法及代碼示例
注:本文由純淨天空篩選整理自 Array.flatten Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。