gpt4 book ai didi

arrays - Perl - 将变量分配给引用的值

转载 作者:行者123 更新时间:2023-12-02 08:53:44 24 4
gpt4 key购买 nike

有一个类似的问题How can I assign the result of a subroutine call to array references in Perl?但我对 perl 的可能性很好奇

perl 中是否有一种 hack 可以直接按元素取消引用引用数组?

在类似的代码中

sub test { return([1..4],[5..8]); }
my (@a,@b);
my @result = test();
@a = @{$result[0]}; @b = @{$result[1]};

我想将代码缩短为简单的语句,例如

sub test { return([1..4],[5..8]); }
my (\@a,\@b) = test();

或循环

foreach my $element (\"1",\"2",\"3") {
my $dereferenced_element = $$element;

如果能写出类似的东西就好了

foreach my \$element (\"1",\"2",\"3") {

我知道这种语法没有多大意义,因为我不想为变量的引用分配一个值,而是为变量本身分配一个取消引用的值
但我很好奇 Perl 的全部功能中是否有这个方向的东西,我认为这个例子展示了最好的,我打算做什么

最佳答案

如果需要,您可以直接修改地球仪,但这不是一个好的做法。

sub test { return [1..3], [2..4]; }
(*x, *y) = test;
print "@x and @y";

输出:

1 2 3 and 2 3 4

这不适用于词法(my)变量。要使其与 strict 一起使用,您可以使用 our(而不是 my)声明变量。

关于arrays - Perl - 将变量分配给引用的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868883/

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