我所拥有的:
{
:url=>"http://localhost:something",
:platformName=>"Windows",
:foodName=>"taco",
:Version=>"1",
:browser=>"Edge"
}
这些值是由用户在不同的HashMaps中输入的,因此为了方便起见,我只是将输入输入到单个哈希中,但是调用的方法是这样的:
def initialize(opts)
@object = super Class::SuperClass.for(:remote,hash)
end
我希望哈希看起来像这样:
hash = {
:url=>"http://localhost:something",
:SubHash=> {
:url=>"http://localhost:something",
:platformName=>"Windows",
:foodName=>"taco",
:Version=>"1",
:browser=>"Edge"
}
}
答案 0 :(得分:1)
您可以使用Hash#slice
和Hash#merge
来获取所需的内容:
hash = {
:url=>"http://localhost:something",
:platformName=>"Windows",
:foodName=>"taco",
:Version=>"1",
:browser=>"Edge"
}
output = hash.slice(:url).merge(SubHash: hash)
# => {
# :url=>"http://localhost:something",
# :SubHash=>{
# :url=>"http://localhost:something",
# :platformName=>"Windows",
# :foodName=>"taco",
# :Version=>"1",
# :browser=>"Edge"
# }
# }
答案 1 :(得分:0)
为什么不简单地做
hash_a = { foo: bar }
hash_b = { a: 1, b: 2, c: 3 }
hash_a[:sub_hash] = hash_b
这将导致
{
foo: bar
sub_hash:
{ a: 1, b: 2, c: 3}
}