as_hash ruby_Ruby中带有示例的Hash.transform_keys方法

as_hash ruby

Hash.transform_keys方法 (Hash.transform_keys Method)

In this article, we will study about Hash.transform_keys Method. The working of this method can be predicted with the help of its name but it is not as simple as it seems. Well, we will understand this method with the help of its syntax and program code in the rest of the content.

在本文中,我们将研究Hash.transform_keys方法 。 可以借助其名称来预测此方法的工作,但是它并不像看起来那样简单。 好了,我们将在其余内容中借助其语法和程序代码来理解此方法。

Method description:

方法说明:

This method is a public instance method that is defined in the ruby library especially for Hash class. This method works in a way that it runs the provided block at least once for each hash key and returns a new hash. An enumerator will be returned if you are not providing any block along with the method at the time of its invocation.

此方法是在ruby库中定义的公共实例方法,特别是针对Hash类。 此方法的工作方式是,它对每个哈希键至少运行一次提供的块,并返回一个新的哈希。 如果您在调用该方法时未提供任何块以及该方法,则将返回一个枚举器。

This method does not bring change in the actual hash because this method belongs to the category of non-destructive methods.

此方法不会带来实际哈希值的变化,因为该方法属于非破坏性方法的类别。

Syntax:

句法:

    Hash_object.transform_keys
    or
    Hash_object.transform_keys{|key| block}

Argument(s) required:

所需参数:

This method does not accept any parameter instead you can provide a block for a better implementation.

此方法不接受任何参数,而是可以提供一个块以实现更好的实现。

Example 1:

范例1:

=begin
  Ruby program to demonstrate transform_keys method
=end	

hash1={"color"=>"Black","object"=>"car","love"=>"friends","fruit"=>"Kiwi","vege"=>"potato"}

puts "Hash transform_keys implementation"

hsh = hash1.transform_keys{|key| key+key}

puts  "Value hash is #{hsh}"

puts "Self hash object : #{hash1}"

Output

输出量

Hash transform_keys implementation
Value hash is {"colorcolor"=>"Black", "objectobject"=>"car", "lovelove"=>"friends", "fruitfruit"=>"Kiwi", "vegevege"=>"potato"}
Self hash object : {"color"=>"Black", "object"=>"car", "love"=>"friends", "fruit"=>"Kiwi", "vege"=>"potato"}

Explanation:

说明:

In the above code, you can observe that we are updating the keys of the hash object with the help of the Hash.transform_keys() method. You can see that all the keys are updated by their names. This method is not creating changes in the actual hash object because this method is one of the examples of non-destructive methods.

在上面的代码中,您可以观察到我们正在借助Hash.transform_keys()方法更新哈希对象的键。 您可以看到所有键均通过其名称进行了更新。 此方法不会在实际的哈希对象中创建更改,因为该方法是非破坏性方法的示例之一。

Example 2:

范例2:

=begin
  Ruby program to demonstrate transform_keys method
=end	

hash1={"color"=>"Black","object"=>"car","love"=>"friends","fruit"=>"Kiwi","vege"=>"potato"}

puts "Hash transform_keys implementation"

hsh = hash1.transform_keys

puts  "Value hash is #{hsh}"

puts "Self hash object : #{hash1}"

Output

输出量

Hash transform_keys implementation
Value hash is #<Enumerator:0x00005610dc177dc8>
Self hash object : {"color"=>"Black", "object"=>"car", "love"=>"friends", "fruit"=>"Kiwi", "vege"=>"potato"}

Explanation:

说明:

In the above code, you can observe that when we are invoking the method without passing any block then the method is returning an enumerator.

在上面的代码中,您可以观察到,当我们调用该方法而不传递任何块时,该方法将返回一个枚举数。

翻译自: https://www.includehelp.com/ruby/hash-transform_keys-method-with-example.aspx

as_hash ruby

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值