Rust 编程:实现 wc 和 uniq 工具
1. 深入 wc 工具
在 wc 工具的探索中,我们有进一步的挑战。首先,要编写一个模仿 GNU wc 输出而非 BSD 版本的程序。若系统已有 GNU 版本,可按以下步骤操作:
1. 运行 mk-outs.sh 程序,为给定输入文件生成预期输出。
2. 修改程序,使其根据测试生成正确输出。
3. 扩展程序,以处理额外选项,如 --files0-from (从文件读取输入文件名)和 --max-line-length (打印最长行的长度)。
4. 为新功能添加测试。
同时,我们还探讨了 iswspace 函数的奥秘。当对包含日语字符的 spiders.txt 文件运行程序时,BSD wc 认为有三个单词,而 GNU 版本认为只有一个单词。若要创建面向公众发布的程序版本,需考虑如何复制 BSD 和 GNU 版本的行为。
在这个过程中,我们还学到了许多 Rust 编程的技巧:
- Iterator::all 函数:若所有元素对给定谓词(接受元素的闭包)求值为 true ,则返回 true 。许多类似的 Iterator 方法接受闭包作为参数,用于测试、选
超级会员免费看
订阅专栏 解锁全文

1900

被折叠的 条评论
为什么被折叠?



