我正在尝试将数组放入哈希:
@friends = {}
@friend = ['network' => 'facebook', 'picture' => picture, 'name' => name, 'id' => id]
如何将@friend
移至@friends
以获得如下结果:
friends: {
[
'network': 'facebook',
'picture': 'http://fb.com/myimage.jpg',
'name': 'MyName',
'id': '46846546'
]
}
array
array
我可以做到。 hash
中的array
我也可以。但是array
中的hash
- 我找不到怎么做。
这可能是不可能的。我在文档中搜索哈希和数组,但没有任何相关内容。
@dave newton的与上次评论相关:
@Borodin与他的回答有关:
答案 0 :(得分:1)
你不能把数组放入哈希"获得像{[]}
这样的东西。哈希是根据键值对构建的。数组可以在散列中获取键或值角色。
例如,这里的数组是值,符号:friends
是键:
{:friends => ['Pete', 'Robert', 'Katrin']}
@friend
变量(如你所定义的那样)导致一个数组有一个元素,这是一个散列。
@friend = ['network' => 'facebook', 'picture' => picture, 'name' => 'name', 'id' => 42]
#=> [{"network"=>"facebook", "picture"=>"picture", "name"=>"name", "id"=>42}]
我想你希望@friend
成为哈希值,而@friends
是一个包含许多friend
哈希值的数组。
答案 1 :(得分:1)
该规范是无稽之谈。它有带键的数组和没有键的哈希。应交换{}
和[]
对,并且键/值对之间应该有逗号。
我认为它看起来像这样
{
"connections" : [
{
"network" : "facebook",
"picture" : "http://facebook.com/picture.jpg",
"name" : "User Name",
"id" : "12345679"
},
{
"network" : "linkedin",
"picture" : "http://linkedin.com/picture.jpg",
"name" : "Another User",
"id" : "959d919sd92"
}
]
}
但我不能确定,你需要回去问问题。