【发布时间】:2012-07-31 09:25:29
【问题描述】:
我有一个方法met1,它以哈希值作为参数。
例如:met1('abc' => 'xyz')
定义方法时应该使用什么语法?可以这样吗?
def met1(options)
puts options
end
我知道上述语法有效。但是如何访问met1 中的单个哈希键和值? (其中键是abc,值是xyz?)谢谢!
【问题讨论】:
标签: ruby methods hash parameters
我有一个方法met1,它以哈希值作为参数。
例如:met1('abc' => 'xyz')
定义方法时应该使用什么语法?可以这样吗?
def met1(options)
puts options
end
我知道上述语法有效。但是如何访问met1 中的单个哈希键和值? (其中键是abc,值是xyz?)谢谢!
【问题讨论】:
标签: ruby methods hash parameters
很简单
met1("abc" => "xyz")
def met1(options)
puts options
# with key
puts options["abc"]
end
我假设您知道选项可能包含哪些键,对吧?如果没有,
def met1(options)
puts options.keys # options is the hash you passed it, use it like one
end
【讨论】:
你的语法是正确的。只需在您的方法中使用 options['key'] (如果 'key' 是一个字符串)。习惯上使用符号作为键,所以在你的例子中:
met1(:abc => 'xyz')
def met1(options)
puts options[:abc]
end
【讨论】: