【发布时间】:2016-08-13 14:09:24
【问题描述】:
我有关联数组%cart_item,其中包含一系列关联数组。我需要访问%cart_item 中的键值。我有以下代码迭代每个数组键。 (如果值为'meta',我会做相当于php的继续)
my $key_value;
for (keys %cart_item) {
next if (/^meta$/ || /^\s*$/);
}
我需要做这样的事情(尽管这无效),在循环中设置键的值:
my $key_value;
for $i (keys %cart_item) {
next if (/^meta$/ || /^\s*$/);
$key_value = $i;
# do stuff
}
有人可以在这里提出解决方案吗?抱歉,如果这很明显,我是 Perl 新手。谢谢
【问题讨论】:
-
术语说明:在 Perl 中,关联数组通常称为哈希。
-
@ThisSuitIsBlackNot 谢谢,值得更新标题吗?
-
我认为这很好。它可能会帮助不熟悉 Perl 术语的人找到问题。
-
关于关联数组——这是一个可怕的数据结构名称。普通的整数索引数组是“关联的”——它们将整数与值相关联。 Python 使用 dictionary,而 Ruby 和 Perl 使用 hash;两者都可以接受。在 JavaScript、PHP 和 Lua 中,聚合数据的行为类似于数组和字典。它们被称为数组,它们都具有决定如何存储每个值的内部 DWIM 软件。 符号表和hash map也是可以接受的,但据我所知,没有一种语言正式称它们为关联数组
-
在 Perl 5 发布之前,它们被称为“关联数组”。当我看到 Perl 程序员使用这个短语时,我担心他们是从非常过时的资源中学习 Perl 的。