【问题标题】:Looping through an array of hashes in Perl循环遍历 Perl 中的哈希数组
【发布时间】:2016-02-09 23:09:05
【问题描述】:

我完全是 Perl 新手,如果这真的很愚蠢,请原谅我,但我想不通。如果我有这样的数组:

my @array = (
  {username => 'user1', email => 'user1@email' },
  {username => 'user2', email => 'user2@email' },
  {username => 'user2', email => 'user3@email' }
);

遍历这个数组最简单的方法是什么?我认为这样的事情会起作用:

print "$_{username} : $_{email}\n" foreach (@array);

但事实并非如此。我想我太拘泥于 PHP 的思维方式了,我只能做类似的事情:

foreach ($array as $user) { echo "$user['username'] : $user['email']\n"; }

【问题讨论】:

    标签: perl


    【解决方案1】:

    @array 包含散列references,所以需要使用-> 去引用。

    print "$_->{username} : $_->{email}\n" foreach (@array);
    

    另请参阅文档,例如 perldoc perlreftutperldoc perlref

    【讨论】:

    • 天哪,我现在感觉好傻。谢谢!
    • 也可以写成say "$$_{username} : $$_{email}" for @array;
    猜你喜欢
    • 2016-08-20
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 2012-07-27
    • 2012-08-22
    • 1970-01-01
    相关资源
    最近更新 更多