【发布时间】:2014-05-27 17:00:30
【问题描述】:
我想知道是否可以将传递给函数的参数作为哈希值。
我试过这样:
my %hash = @_;
在我得到一个数组的情况下工作,但是键是奇数变量值,值是偶数变量值。
我希望键是变量的名称,所以如果我调用
foo($bar, %example);
哈希将有一个值为 $bar 的键栏
(%example 也是如此)。
这是可能的还是必须在调用函数之前创建哈希?
【问题讨论】:
-
哈希是某种意义上的数组,其中奇数元素是键,偶数元素是它们的值。
@_是一个数组(正如@告诉你的那样),当你将它分配给一个哈希变量时,所发生的就是你所描述的。您可以或者将子称为foo( key => 'value', ... )或使用@_像my ( $scalar, %hash ) = @_(以匹配您的示例)。 -
foo($bar, %example);总是会产生奇数个元素。是什么让你的想法与众不同?
标签: perl