gpt4 book ai didi

arrays - 如何使用值数组来限制 Perl 中的 for 循环?

转载 作者:行者123 更新时间:2023-12-02 11:58:15 25 4
gpt4 key购买 nike

我知道这个问题相当模糊,但我希望解释的空间可以帮助阐明问题,这是我一整天都在绞尽脑汁的问题,但通过搜索找不到任何建议。

基本上,我有一个数组 @cluster,我试图用它来使迭代器 $x 跳过位于该数组中的值。数组的大小会有所不同,因此不幸的是,我不能(相当残酷地)制作 if 语句来适应所有情况。

通常,当我需要使用标量值执行此操作时,我只需这样做:

for my $x (0 .. $numLines){
if($x != $value){
...
}
}

有什么建议吗?

最佳答案

你可以这样做:

my @cluster = (1,3,4,7);
outer: for my $x (0 .. 10){
$x eq $_ and next outer for @cluster;
print $x, "\n";
}

使用 Perl 5.10,您还可以:

for my $x (0 .. 10){
next if $x ~~ @cluster;
print $x, "\n";
}

或者更好地使用哈希:

my @cluster = (1,3,4,7);
my %cluster = map {$_, 1} @cluster;
for my $x (0 .. 10){
next if $cluster{$x};
print $x, "\n";
}

关于arrays - 如何使用值数组来限制 Perl 中的 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16182896/

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