bda*_*xyz 2 ruby ruby-on-rails
假设我有一个像这样的ruby数组:
values = ['val_a', 'val_b',..., 'val_z'] # 26 values
Run Code Online (Sandbox Code Playgroud)
和键的哈希
hash = {a: nil, b: nil, ... , z: nil} # 26 keys
Run Code Online (Sandbox Code Playgroud)
我知道数组是排序的,我知道散列的键是排序的,我知道数组和散列都是相同的大小.
我怎样才能优雅地水化哈希值,以便我最终得到
{a: 'val_a', b: 'val_b', ... , z: 'val_z'}
Run Code Online (Sandbox Code Playgroud)
hash_with_values = hash.keys.zip(values).to_h
Run Code Online (Sandbox Code Playgroud)
请注意,在某些(大多数?)语言中,散列/映射的键是无序的,因此不起作用.Ruby <1.9的情况也是如此,但从那时起,它们将被保证订购(插入订单).