EDIT : SOLVED. 아래의 솔루션을 참조하십시오.배열 참조가있는 Perl 피보나치 숫자 프로그램?
필자는 처음 10 개의 숫자에 대해 다음 피보나치 숫자 프로그램을 작성했습니다. 그러나 나는 그것을 작동시킬 수 없다. 그것은 계속 내게 말하기를 Use of uninitialized value $secondLast in addition (+) at fib.plx line 22.
이며 영원히 계속됩니다. 나는 초급 Perl 프로그래머이므로 오류가 매우 간단하다고 확신한다. 감사.
#!/usr/bin/perl
use warnings;
use strict;
sub fib(\@$);
my @defaultNums = (1,1);
my $max = 10;
fib(@defaultNums,10);
sub fib(\@$)
{
my $nums_ref = $_[0];
my $max = $_[1];
foreach(@{$nums_ref})
{
print "$_, ";
}
print "\n";
my $last = pop (@{$nums_ref});
my $secondLast = pop (@{$nums_ref});
my $sum = $last + $secondLast;
push (@{$nums_ref}, $sum);
if(scalar @{$nums_ref} >= $max) { return; }
fib (@{$nums_ref},$max);
print "\n";
}
EDIT : SOLVED. 아래의 솔루션을 참조하십시오.