我有一个变量id,我想将它用作散列中的键,以便分配给变量的值用作散列的键.
例如,如果我有变量,id = 1那么所需的结果将是{ 1: 'foo' }.
我试过创建哈希,
{
id: 'foo'
}
Run Code Online (Sandbox Code Playgroud)
但是,这并不工作,而不是导致与符号的哈希:id来'foo'.
我可以发誓我以前做过这件事,但我完全是在画一个空白.
Gum*_*mbo 89
如果要使用特定值填充新哈希,可以将它们传递给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}
Run Code Online (Sandbox Code Playgroud)
所以在你的情况下:
Hash[id, 'foo']
Hash[[[id, 'foo']]]
Hash[id => 'foo']
Run Code Online (Sandbox Code Playgroud)
最后一种语法id => 'foo'也可以用于{}:
{ id => 'foo' }
Run Code Online (Sandbox Code Playgroud)
否则,如果哈希已存在,请使用Hash#=[]:
h = {}
h[id] = 'foo'
Run Code Online (Sandbox Code Playgroud)