gpt4 book ai didi

string - 为什么我用 Perl 编写的词频计数器示例无法产生有用的输出?

转载 作者:行者123 更新时间:2023-12-02 06:45:16 25 4
gpt4 key购买 nike

我对 Perl 很陌生,我正在尝试编写一个词频计数器作为学习练习。

但是,经过处理后,我无法找出下面代码中的错误。这是我的代码:

$wa = "A word frequency counter."; 
@wordArray = split("",$wa);
$num = length($wa);
$word = "";
$flag = 1; # 0 if previous character was an alphabet and 1 if it was a blank.
%wordCount = ("null" => 0);
if ($num == -1) {
print "There are no words.\n";
} else {
print "$length";
for $i (0 .. $num) {
if(($wordArray[$i]!=' ') && ($flag==1)) { # start of a new word.
print "here";
$word = $wordArray[$i];
$flag = 0;
} elsif ($wordArray[$i]!=' ' && $flag==0) { # continuation of a word.
$word = $word . $wordArray[$i];
} elsif ($wordArray[$i]==' '&& $flag==0) { # end of a word.
$word = $word . $wordArray[$i];
$flag = 1;
$wordCount{$word}++;
print "\nword: $word";
} elsif ($wordArray[$i]==" " && $flag==1) { # series of blanks.
# do nothing.
}
}
for $i (keys %wordCount) {
print " \nword: $i - count: $wordCount{$i} ";
}
}

它既不是打印“这里”,也不是单词。我现在并不担心优化,尽管在这个方向上的任何输入也将不胜感激。

最佳答案

这是一个很好的问题示例,如果您向 Perl 寻求帮助,Perl 将帮助您找出问题所在。习惯于总是添加行:

use strict;
use warnings;

到 Perl 程序的顶部。

关于string - 为什么我用 Perl 编写的词频计数器示例无法产生有用的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060505/

25 4 0