0

我有一个方法met1,它将哈希值作为参数。

例如:met1('abc' => 'xyz')

定义方法时应该使用什么语法?会是这样吗?

def met1(options)
  puts options
end

我知道上面的语法有效。但是我怎样才能访问内部的单个哈希键和值met1?(关键在哪里abc,价值在xyz哪里?)谢谢!

4

2 回答 2

1

你的语法是正确的。只需在您的方法中使用 options['key'] (如果 'key' 是一个字符串)。通常使用符号作为键,因此在您的示例中:

met1(:abc => 'xyz')

def met1(options)
  puts options[:abc]
end
于 2012-07-31T09:27:22.857 回答
1

这很容易

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
于 2012-07-31T09:29:41.917 回答