在Perl中,基于键和值数组执行哈希更新,我可以执行以下操作:
@hash{'key1','key2','key3'} = ('val1','val2','val3');
Run Code Online (Sandbox Code Playgroud)
在Ruby中,我可以用更复杂的方式做类似的事情:
hash.merge!(Hash[ *[['key1','key2','key3'],['val1','val2','val3']].transpose ])
Run Code Online (Sandbox Code Playgroud)
好的,但我怀疑这种程序的有效性.
现在我想在一行中完成更复杂的任务.
Perl示例:
(@hash{'key1','key2','key3'}, $key4) = &some_function();
Run Code Online (Sandbox Code Playgroud)
我不知道这种东西是否可以用一些简单的Ruby方式实现.任何提示?
对于Perl受损,@hash{'key1','key2','key3'} = ('a', 'b', 'c')是一个哈希切片,并且是这样的简写:
$hash{'key1'} = 'a';
$hash{'key2'} = 'b';
$hash{'key3'} = 'c';
Run Code Online (Sandbox Code Playgroud)