作者sqrt1089 (李崩子)
看板Perl
标题Re: [问题] 关於杂凑或是阵列的赋值
时间Sat Sep 10 21:11:09 2011
※ 引述《skylock (天锁)》之铭言:
: 最近在写一段筛选字串的演算法
: 有一段是想要把字串拆开成单一的字母放到阵列里面
: 然後计算每个单一字母在原字串中出现的次数
: 我把拆开的字母跟出现次数这两个塞到变数里面
: 再用回圈写成杂凑或是阵列中元素的资料格式
: 我测试过印出用回圈跑出来的资料格式应该是正确的
: 可是再把那个资料塞到一个新的阵列或是杂凑里面
: 就失败了
: 因为印不出东西
: 感觉像是没有放进去
: 请各位高手帮我看看
: 谢谢><
: 以下是我的程式码
use Switch;
#Convert the input into a LIST with each word (or character) as a list
element.
@mergelist = ('');
$string = "BACDEAFCDGBACD";
$threshold = 1;
$seperator = 'x';
#$t = 0;
my @list = split(//, $string);
push @list, $seperator;
for (my $i=0; $i < $#list; $i++){
@match = ($string =~ /
$list[$i]/g);
$t = scalar @match;
$data .=
$list[$i].", ".$t.", ";
}
@match = ($string =~ /
$list[$#list]/g);
$t = scalar @match;
$data .=
$list[$#list].", ".$t;
#print $data; => 这行印出来是正常的
my @freq = qw($data);
^^^^ qw 里面是元素,所以你现在@freq 里面 就只有$data这个元素
你 print @freq 就知道了,所以@freq 这个阵列只有 $data这个字串
你印第4个当然印不出来
我不知道你想要啥结果,不过可以参考看看XD
my @freq = split/,/,$data;
print $freq[3]; # 会印出 3
--
\ ∩──、 =====
\/ ● , \ ======
/\( ● ¯● |つ
| ╳_入_ノ ミ ︵ 用这种饵
(_/ ノ / / 也想让本大爷上钩…
/\___ノ_/ / ======
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.215.174
※ 编辑: sqrt1089 来自: 140.116.215.174 (09/10 21:15)