Arrays 可以在不首先声明变量的情况下进行引用吗?
我有这个代码Arrays 可以在不首先声明变量的情况下进行引用吗?,arrays,perl,hash,reference,perl-data-structures,Arrays,Perl,Hash,Reference,Perl Data Structures,我有这个代码 my @new = keys %h1; my @old = keys %h2; function(\@new, \@old); 但是不需要先声明变量就可以完成吗 函数必须将其参数作为引用 发件人: 可以创建对匿名数组的引用 可以使用方括号创建: $arrayref=[1,2,a,b,c'] 输出: $VAR1 = [ 'key2', 'key1' ]; $VAR1 = [ 'key4',
my @new = keys %h1;
my @old = keys %h2;
function(\@new, \@old);
但是不需要先声明变量就可以完成吗
函数
必须将其参数作为引用
发件人:
可以创建对匿名数组的引用
可以使用方括号创建:
$arrayref=[1,2,a,b,c']
输出:
$VAR1 = [
'key2',
'key1'
];
$VAR1 = [
'key4',
'key3'
];
因为你不能在不知道该尝试什么的情况下真正“尝试”它?她至少可以尝试用RHS上的表达式替换@new和@old。然后,如果perl抱怨,她可能会问为什么以及如何预防。(1)谁说她没有尝试过?如果有那么简单的话,是的,我会和你在一起,但事实并非如此。(2) 就我个人而言,当我发现自己在尝试随机组合语法,希望其中一个能起作用时,我已经迷路了,可能应该早点寻求帮助。(3) 我怀疑她(或任何有工作要做的人)会关心为什么
函数(\keys(%h1),\keys(%h2))
不起作用——只是它不起作用。她的目标仍然很明确,没有被无数无用的尝试所折磨的语法弄糊涂。(4) 她提出了一个明确的问题,这个问题对谷歌来说并不容易。赵:我对她投赞成票,在大多数问题上我同意你的意见。尽管如此,如果一个人寻求帮助,最好表明他已经尝试过了什么。除此之外,最好的帮助是帮助某人在将来帮助他或她自己。
use strict;
use Data::Dumper;
my %test = (key1 => "value",key2 => "value2");
my %test2 = (key3 => "value3",key4 => "value4");
test_sub([keys %test], [keys %test2]);
sub test_sub{
my $ref_arr = shift;
my $ref_arr2 = shift;
print Dumper($ref_arr);
print Dumper($ref_arr2);
}
$VAR1 = [
'key2',
'key1'
];
$VAR1 = [
'key4',
'key3'
];