提交 29713d7f 编写于 作者: F Francesco Rodriguez

update Hash documentation with 1.9 syntax [ci skip]

上级 ac50b633
class Hash
# Return a new hash with all keys converted using the block operation.
#
# { :name => 'Rob', :years => '28' }.transform_keys{ |key| key.to_s.upcase }
# # => { "NAME" => "Rob", "YEARS" => "28" }
# hash = { name: 'Rob', age: '28' }
#
# hash.transform_keys{ |key| key.to_s.upcase }
# # => { "NAME" => "Rob", "AGE" => "28" }
def transform_keys
result = {}
keys.each do |key|
......@@ -22,8 +24,10 @@ def transform_keys!
# Return a new hash with all keys converted to strings.
#
# { :name => 'Rob', :years => '28' }.stringify_keys
# #=> { "name" => "Rob", "years" => "28" }
# hash = { name: 'Rob', age: '28' }
#
# hash.stringify_keys
# #=> { "name" => "Rob", "age" => "28" }
def stringify_keys
transform_keys{ |key| key.to_s }
end
......@@ -37,8 +41,10 @@ def stringify_keys!
# Return a new hash with all keys converted to symbols, as long as
# they respond to +to_sym+.
#
# { 'name' => 'Rob', 'years' => '28' }.symbolize_keys
# #=> { :name => "Rob", :years => "28" }
# hash = { 'name' => 'Rob', 'age' => '28' }
#
# hash.symbolize_keys
# #=> { name: "Rob", age: "28" }
def symbolize_keys
transform_keys{ |key| key.to_sym rescue key }
end
......@@ -69,8 +75,10 @@ def assert_valid_keys(*valid_keys)
# This includes the keys from the root hash and from all
# nested hashes.
#
# { :person => { :name => 'Rob', :years => '28' } }.deep_transform_keys{ |key| key.to_s.upcase }
# # => { "PERSON" => { "NAME" => "Rob", "YEARS" => "28" } }
# hash = { person: { name: 'Rob', age: '28' } }
#
# hash.deep_transform_keys{ |key| key.to_s.upcase }
# # => { "PERSON" => { "NAME" => "Rob", "AGE" => "28" } }
def deep_transform_keys(&block)
result = {}
each do |key, value|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册