1. ホーム
  2. ruby

Rubyです。Rubyで変数からハッシュのキーと値を作成する【重複あり

2023-08-23 22:55:37

質問内容

私は、変数 id があり、それをハッシュのキーとして使いたいのですが、変数に割り当てられた値がハッシュのキーとして使われるようにします。

例えば、私が変数 id = 1 という変数があった場合、結果のハッシュは { 1: 'foo' } .

でハッシュを作成してみました。

{
  id: 'foo'
}

しかし、これはうまくいかず、代わりにハッシュに記号 :id から 'foo' .

私は以前にこれをやったことがあると断言できたのですが、完全に空白になっています。

どのように解決するのですか?

新しいハッシュに特定の値を入力したい場合、その値を Hash::[] :

Hash["a", 100, "b", 200]             #=> {"a"=>100, "b"=>200}
Hash[ [ ["a", 100], ["b", 200] ] ]   #=> {"a"=>100, "b"=>200}
Hash["a" => 100, "b" => 200]         #=> {"a"=>100, "b"=>200}

つまり、あなたの場合

Hash[id, 'foo']
Hash[[[id, 'foo']]]
Hash[id => 'foo']

最後の構文 id => 'foo'{} :

{ id => 'foo' }

それ以外の場合、ハッシュがすでに存在する場合は Hash#=[] :

h = {}
h[id] = 'foo'