保存二维数组地址值的哈希

发布于 2024-11-07 08:38:02 字数 83 浏览 0 评论 0原文

在 Perl 中,如何创建一个散列,其值将是 2D 数组的地址?
我也需要动态获取二维数组的值。

请给我准确的编码。我伤透了头。

In Perl, how can I create a hash, whose values will be the address of a 2D array?
I need to get the values of the 2D array dynamically, too.

Please give me the exact coding. I am breaking my head.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怪我入戏太深 2024-11-14 08:38:02

这个怎么样?

my %hash = (
    foo => [[1, 2], [3, 4]],
    bar => [[5, 6], [7, 8]]
);

此处二维数组被建模为数组的数组。

How about this?

my %hash = (
    foo => [[1, 2], [3, 4]],
    bar => [[5, 6], [7, 8]]
);

2D array is modelled as array of arrays here.

姐不稀罕 2024-11-14 08:38:02

数组和哈希只能采用标量值,但是数组引用(使用 [] 等方式创建)是标量。因此,使用此构造来创建嵌套数组。将其视为:

$array_element_1 = ['row 1 column 1', 'row 1 column 2'];
$array_element_2 = ['row 2 column 1', 'row 2 column 2'];
$array_reference = [$array_element_1, $array_element_2];
%hash = ( 'key' => $array_reference);

除非没有所有中间存储。这些称为匿名引用(因为它们不要求您在创建对结构的引用之前为原始结构指定名称)。请注意,匿名哈希引用是使用 {} 创建的。欲了解更多信息,请访问 perldoc perlreftut

Arrays and hashes can only take scalar values, however an array reference (created using [], among other ways) are scalars. Therefore creating nested arrays is done using this construct. Think of it as:

$array_element_1 = ['row 1 column 1', 'row 1 column 2'];
$array_element_2 = ['row 2 column 1', 'row 2 column 2'];
$array_reference = [$array_element_1, $array_element_2];
%hash = ( 'key' => $array_reference);

except without all of the intermediate storing. These are called anonymous references (since they don't require that you give the original structure a name before creating the reference to the structure). Note that anonymous hash references are created using {}. Read more at perldoc perlreftut.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文