ruby 哈希参数说明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 哈希参数说明相关的知识,希望对你有一定的参考价值。
# Hash Method Arguments
def foo(b: 2, c: 3, **args)
puts b #=> 2
puts args #=> {a: 1, d: 4}
end
# Usage: foo(a: 1, b: 2, c: 3, d: 4)
# Explination:
# Old way of hash arguments
def foo(args)
puts args[:a]
puts args[:b]
end
foo(a: 1, b: 2)
#=> 1
#=> 2
# Default arguments and mixing ordinary arguments with hashes
def foo(a, args = {})
defaults = {b: 2, c: 3}
args = defaults.merge(args)
puts a
puts args
end
foo(1)
#=> 1
#=> {b: 2, c: 3}
# Even better than default arguments, is keyword arguments (no merging default arguments).
# Mix them with Array arguments:
def foo(b: 2, c: 3, **args)
puts b
puts c
puts args
end
foo(a: 1, b: 2, c: 3, d: 4)
#=> 2
#=> 3
#=> {a: 1, d: 4}
# Optional Args:
def foo(b: 2, c: 3, **args)
puts b
puts c
puts args
end
foo(a: 1, b: 2, c: 3, d: 4)
#=> 2
#=> 3
#=> {a: 1, d: 4}
以上是关于ruby 哈希参数说明的主要内容,如果未能解决你的问题,请参考以下文章
如何在Ruby中使用来自哈希的查询参数构造URI
Ruby - 关键字参数 - 你能把所有的关键字参数当作一个哈希值吗?如何?
Ruby奇数个哈希错误的参数
为啥关键字参数必须作为带有符号键的哈希传递,而不是 Ruby 中的字符串键?
Ruby中数组哈希的所有可能组合
Ruby 修改嵌套哈希的元素