11、Rust 编程:实现 `wc` 和 `uniq` 工具

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 方法接受闭包作为参数,用于测试、选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值