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 に答える