繁体   English   中英

哈希哈希中的哈希数组?

[英]Array of Hashes in Hash of Hashes?

我有这个

#!/usr/bin/perl

use warnings;
use strict;

my $a = {
    '0' => {
            'i' => -1,
            'u'  => -1,
    },
};

但是我想要的是

my $a = {
    '0' => {
            'i' => -1,
        'u'  => -1,
            (
              {
               'i' => -1,
               't' => -1,
              },
            ),
          },
        };

这给出了一个错误。

不能在HoH中进行AoH吗?

可能是在大吼大叫“ $ filename行$ line处的匿名哈希中的元素数奇特”,对吗? 这是因为您不能真正将数组本身本身填充到哈希中-数组引用将需要像其他哈希元素一样被键入键。 另外,您将需要使用[]而不是()来创建数组引用:

my $a = {
    0 => {
        i => -1,
        u => -1,
        x => [{i => -1, t => -1}],
    },
};

没有错误。 然后,您可以像这样访问它:$ a-> {0} {x} [0] {i};

您应该在数组之前有一个键:

my $a = {
    '0' => {
            'i' => -1,
            'u'  => -1,
            'a' => [
      # here ^ is the key
              {
               'i' => -1,
               't' => -1,
              },
            ],
          },
        };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM