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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。