我有一个变量id
,我想用它作为散列中的一个键,这样分配给变量的值就被用作散列的键.
例如,如果我有变量id = 1
,那么期望得到的散列值将是{ 1: 'foo' }
.
我试着用,
{
id: 'foo'
}
但这不起作用,反而会产生一个符号为:id
到'foo'
的散列.
我可以发誓我以前做过这件事,但我现在完全是一片空白.
我有一个变量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'