...Perl : 무한 루프 배열? I가 유한 배열 무한 루프가 필요
예 : 가능
@name = ('John', 'Helen', 'Dave');
1=John
2=Helen
3=Dave
4=John
5=Helen
6=Dave
7=John
8=Helen
9=Dave
...etc
인가?
감사
...Perl : 무한 루프 배열? I가 유한 배열 무한 루프가 필요
예 : 가능
@name = ('John', 'Helen', 'Dave');
1=John
2=Helen
3=Dave
4=John
5=Helen
6=Dave
7=John
8=Helen
9=Dave
...etc
인가?
감사
그것은 소리 모듈은 배열의 크기 :
foreach my $i (1..100) { printf "%d=%s\n", $i, $name[$i % scalar(@name)]; }
my @dow = ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
print $dow[7 % scalar(@dow)], "\n";
print $dow[125 % scalar(@dow)], "\n";
등 재미를 들어
완벽한! 감사 – SmV
사람이 그렇게 할 이유를 모르겠어요,하지만 당신이 원하는 것을 할 것입니다 : 당신이 인덱스 인덱스 번호와 유한 배열을 필요로하는 것처럼
my $i=0;
my $cnt=1;
my @name = ('John', 'Helen', 'Dave');
while($i<scalar (@name)){
print $cnt."".$name[$i];
$i++;
$cnt++;
$i=$i==scalar(@name)?0:$i;
}
,이 (값을 반복하는 "무한"큰 배열을 제시에만 STOR 동안 각 가치의 사본 하나씩). InfinitelyLoopingArray.pm
포함
use InfinitelyLoopingArray qw();
tie my @dow_lookup, InfinitelyLoopingArray::,
qw(Sun Mon Tue Wed Thu Fri Sat);
printf "%3d %s\n", $_, $dow_lookup[$_]
for 0..9, 125;
:
package InfinitelyLoopingArray;
use strict;
use warnings;
use Carp qw(croak);
sub TIEARRAY {
my $class = shift;
return bless([ @_ ], $class);
}
sub FETCHSIZE {
# Largest supported array index.
# Currently 2**31-1 or 2**63-1 depending on the build.
return unpack('J', pack('j', -1)) >> 1;
}
sub FETCH {
my ($self, $idx) = @_;
croak "Negative indexes not supported" if $idx < 0;
return $self->[$idx % @$self];
}
sub new {
tie my @array, @_;
return \@array;
}
1;
많은 답변 - 그래서,이 무한한만큼 한 번 더
my(@names) = ('John', 'Helen', 'Dave');
my $cnt;
while(1) {
print ++$cnt, "=$_\n" for (@names);
}
희망 ... :)/적어도 $의 CNT가있는 동안 overlfow/
나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. – djechlin
안녕하세요, "무한 루프"가 필요하며 예를 들어 7 '일의 이름이나 125 일의 이름을 알고 계십시오. 감사합니다 – SmV
나는 아직도 당신이 무엇을 요구하고 있는지 이해하지 못합니다. – djechlin