数组 – 如何在没有循环的情况下初始化哈希值?
发布时间:2020-12-15 21:17:50 所属栏目:大数据 来源:网络整理
导读:我试图找出一种初始化哈希的方法,而不必经历一个循环。我希望使用切片,但似乎没有产生预期的结果。 请考虑以下代码: #!/usr/bin/perluse Data::Dumper;my %hash = ();$hash{currency_symbol} = 'BRL';$hash{currency_name} = 'Real';print Dumper(%hash);
我试图找出一种初始化哈希的方法,而不必经历一个循环。我希望使用切片,但似乎没有产生预期的结果。
请考虑以下代码: #!/usr/bin/perl use Data::Dumper; my %hash = (); $hash{currency_symbol} = 'BRL'; $hash{currency_name} = 'Real'; print Dumper(%hash); 这可以像预期一样工作,并产生以下输出: $VAR1 = 'currency_symbol'; $VAR2 = 'BRL'; $VAR3 = 'currency_name'; $VAR4 = 'Real'; 当我尝试使用切片如下,它不起作用: #!/usr/bin/perl use Data::Dumper; my %hash = (); my @fields = ('currency_symbol','currency_name'); my @array = ('BRL','Real'); @hash{@array} = @fields x @array; 输出为: $VAR1 = 'currency_symbol'; $VAR2 = '22'; $VAR3 = 'currency_name'; $VAR4 = undef; 显然有问题。 所以我的问题是:给定两个数组(键和值)初始化哈希值的最优雅的方式是什么? 解决方法use strict; use warnings; # Must-haves # ... Initialize your arrays my @fields = ('currency_symbol','Real'); # ... Assign to your hash my %hash; @hash{@fields} = @array; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |