gpt4 book ai didi

perl - 连续的运算符和括号

转载 作者:行者123 更新时间:2023-12-04 13:33:28 24 4
gpt4 key购买 nike

我只是想学习一些Perl,并且遇到了这个问题:

foreach $element (@{$records})
{
do something;
}

在我的新手看来,这是:
“对于名为@ {$ records}的数组中的每个元素,执行某项操作”
但是,由于这似乎是数组的一个不太可能的名称(总共带有“ @{$”),所以我想这不是那么简单吗?

我也遇到了一起使用的“ %$”。
我知道 %表示哈希,而 $表示标量,但不知道它们在一起的含义。

任何人都可以阐明这些吗?

最佳答案

在Perl中,您可以具有对数据结构的引用(指针):

# an array
my @array;

# a reference to an array
my $ref = \@array;

当您有一个引用可以使用该数组时,您需要 取消引用
@{ $ref }

如果您需要像这样访问元素
$array[0]

你可以引用做同样的事情
${$ref}[0]

大括号 {}是可选的,您也可以使用
$$ref[0]
@$ref

但我个人认为它们的可读性较差。

其他所有类型也一样(作为哈希引用的 %$)。

有关详细信息,请参见 man perlref;有关教程,请参见 man perlreftut

编辑

箭头运算符 ->也可用于取消引用数组或哈希
$array_ref->[0]

或者
$hash_ref->{key}

有关详细信息,请参见 man perlop

关于perl - 连续的运算符和括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com