这里没有软件测试的泛泛理论,只有博主的最佳实践。
博主的研究方向为静态分析和性能测试,致力于各种测试工具的引入、评估和开发。
本博的测试文章均为作者原创,转载请务必注明出处。
小骆驼书作业六:散列
上一篇 /
下一篇 2008-07-07 15:21:47
/ 个人分类:Perl
本章应该是很重要的一章,但小骆驼书的篇幅却不大,相当简洁。在开始作业之前,先写复习笔记。
复习笔记
×散列是一种数据结构,它可以包含任意多个值。它的格式是 key value。key并不是数值,而是互不相同的任意字符串。
×如果你的任务中有“找出重复项目”、“互不相同”、“交叉引用”“查表”等字眼,实现时很有可能用得上散列。
×%表示整个散列,访问某个元素用 $family_name{"key"} = "value"; 可以用 => 给散列赋值。
×keys和values函数会返回散列中所有的键和所有的值。
×对整个散列迭代,可以用each和while配合。
while (($key, $value) = each %hash) { print "$key => $value \n"; }
当然,也可以用foreach达到同样的效果。
×exists和delete可以用于散列操作,含义和其字面含义相同。
习题二:写一支程序,读取一连串的单词(每行一个,直到输入结束),然后输出一份列出每个单词的出现次数的列表。
请看复习笔记中的黑体部分。这里的任务是统计单词的出现次数,和找出重复项目差不多,可以考虑使用散列。最开始时,我还真不知道怎么实现呢。以下是标准答案。
#!/usr/bin/perl -w
my ($word, @words, %count);
chomp(@words = <STDIN>);
foreach $word (@words)
{
$count{$word} +=1;
}
foreach $word (sort keys(%count))
{
print "$word was seen $count{$word} times.\n";
}
答案没什么说的,很棒!
相关阅读:
- 我的第一个Perl (qiguojie, 2007-9-01)
- Perl 格言 (zeus, 2007-9-30)
- 解决 perl xml getNodeValue 为空值的过程 (qaarchitech, 2008-4-19)
- 解决 perl xml getNodeValue 为空值的过程 (liangjz, 2008-4-19)
- 小骆驼书作业一:简介 (huior, 2008-6-29)
- 小骆驼书作业二:标量数据 (huior, 2008-6-30)
- 小骆驼书作业三:列表和数组 (huior, 2008-7-03)
- 小骆驼书作业四:子例程 (huior, 2008-7-04)
- perl (brighten, 2008-7-06)
- 小骆驼书作业五:输入与输出 (huior, 2008-7-07)
收藏
举报
TAG:
Perl