【发布时间】:2013-11-11 23:00:46
【问题描述】:
我有一个名称数组,我希望为每个名称创建一个散列,并将其作为变量名。像这样的
@list = ('Name1', 'Name2', 'Name3')
for ($i = 0; $i < scalar @list; $i++) {
%(list[$i]);
}
谁能告诉我这是否可行?
【问题讨论】:
-
之后没有添加键和值。首先我需要创建几个哈希。我当然还需要能够使用变量添加这些(例如 $list[x])。
-
做这种事情的正确方法是使用散列,你有这个效果的答案。 是可以做你所描述的,但这是一个非常糟糕的主意。一方面,您如何知道已创建的哈希的名称是什么?如果您知道它们的名称以便可以显式访问它们,那么您也可以显式声明它们。
-
另外,
for ($i = 0; $i < scalar @list; $i++) { ... }通常写成for my $i (0 .. $#list) { ... } -
你有
@list = ('Name1', 'Name2', 'Name3', 'Name1')的案例吗?如果有,将如何处理?
标签: arrays perl hash naming-conventions