Hash.flatten 方法
在本文中,我们将研究 Hash.flatten 方法。这种方法的用法原理可以通过它的名字来预测,但它并不像看起来那么简单。那么,我们将在其余内容中借助其语法和程序代码来理解该方法。
方法说明:
该方法是Ruby 库中专门为Hash 类定义的公共实例方法。此方法的用法方式是在展平整个哈希对象后返回一个数组对象。这意味着每个键值对都将被转换为一个数组对象,或者您可以说它将成为 Array 对象的一个单独元素。此方法是一种非破坏性方法,这意味着此方法创建的更改不会影响实际的哈希实例。
用法:
Hash_object.flatten or Hash_object.flatten(level)
所需参数:
这个方法只接受一个参数,这个参数只不过是你想要对散列对象做的扁平化级别。
范例1:
=begin
Ruby program to demonstrate flatten method
=end
hash1={"color"=>"Black","object"=>["car","phone"],"love"=>["mom","friends"],"fruit"=>"Kiwi","vege"=>"potato"}
puts "Hash.flatten implementation"
ary = hash1.flatten
puts "Hash object after flatten:#{ary}"
puts "Self hash object:#{hash1}"
输出
Hash.flatten implementation Hash object after flatten:["color", "Black", "object", ["car", "phone"], "love", ["mom", "friends"], "fruit", "Kiwi", "vege", "potato"] Self hash object:{"color"=>"Black", "object"=>["car", "phone"], "love"=>["mom", "friends"], "fruit"=>"Kiwi", "vege"=>"potato"}
说明:
在上面的代码中,您可以观察到我们在 Hash.flatten 方法的帮助下扁平化了哈希对象。第一级扁平化已经完成,其中所有散列元素现在都是数组的一部分。您可以看到此方法不会对实际散列产生任何影响,因为此方法是非破坏性方法的示例之一。
范例2:
=begin
Ruby program to demonstrate flatten method
=end
hash1={"color"=>"Black","object"=>["car","phone"],"love"=>["mom","friends"],"fruit"=>"Kiwi","vege"=>"potato"}
puts "Hash.flatten implementation"
puts "Enter the level of flatten"
lvl = gets.chomp.to_i
ary = hash1.flatten(lvl)
puts "Hash object after flatten:#{ary}"
puts "Self hash object:#{hash1}"
输出
Hash.flatten implementation Enter the level of flatten 2 Hash object after flatten:["color", "Black", "object", "car", "phone", "love", "mom", "friends", "fruit", "Kiwi", "vege", "potato"] Self hash object:{"color"=>"Black", "object"=>["car", "phone"], "love"=>["mom", "friends"], "fruit"=>"Kiwi", "vege"=>"potato"}
说明:
在上面的代码中,您可以观察到我们在 Hash.flatten 方法的帮助下扁平化了哈希对象。第二级扁平化已经完成,其中所有散列元素现在都是数组的一部分。您可以看到此方法不会对实际散列产生任何影响,因为此方法是非破坏性方法的示例之一。
相关用法
- Ruby Hash.fetch_values()用法及代码示例
- Ruby Hash.fetch()用法及代码示例
- Ruby Hash.rassoc(obj)用法及代码示例
- Ruby Hash.keep_if用法及代码示例
- Ruby Hash.delete_if用法及代码示例
- Ruby Hash.each用法及代码示例
- Ruby Hash.keys用法及代码示例
- Ruby Hash.transform_keys用法及代码示例
- Ruby Hash.each_key用法及代码示例
- Ruby Hash.insert()用法及代码示例
- Ruby Hash.values_at()用法及代码示例
- Ruby Hash.rehash用法及代码示例
- Ruby Hash.each_value用法及代码示例
- Ruby Hash.values用法及代码示例
- Ruby Hash.replace()用法及代码示例
- Ruby Hash.compact用法及代码示例
- Ruby Hash.reject用法及代码示例
- Ruby Hash.assoc()用法及代码示例
- Ruby Hash.select用法及代码示例
- Ruby Hash.invert用法及代码示例
注:本文由纯净天空筛选整理自 Hash.flatten Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。