gpt4 book ai didi

arrays - Perl 从数组中输出连续的字符串

转载 作者:行者123 更新时间:2023-12-02 06:27:09 24 4
gpt4 key购买 nike

我有一个数组,我可以将其打印为“abcd”,但我试图将其打印为“a>ab>abc>abcd”。我无法在我拥有的 foreach 循环中找出我需要的嵌套循环。我需要在其中使用什么循环才能以这种方式打印它?

my $str = "a>b>c>d";
my @words = split />/, $str;

foreach my $i (0 .. $#words) {
print $words[$i], "\n";
}

谢谢。

最佳答案

您的想法是正确的,但您不想打印位置 i 处的单词,而是想打印位置 0 和 i(含)之间的所有单词。此外,您的输入可以包含多个字符串,因此循环遍历它们。

use warnings;

while (my $str = <>) { # read lines from stdin or named files
chomp($str); # remove any trailing line separator

my @words = split />/, $str; # break string into array of words
foreach my $i (0 .. $#words) {
print join '', @words[0 .. $i]; # build the term from the first n words
print '>' if $i < $#words; # print separator between terms (but not at end)
}

print "\n";
}

还有很多其他的方式来编写它,但希望这种方式可以帮助您理解正在发生的事情以及原因。祝你好运!

关于arrays - Perl 从数组中输出连续的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55731893/

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