417|4

15

帖子

0

TA的资源

一粒金砂(中级)

动手实践任务二(简单):使用fs接口,read等trait打印文本文件 [复制链接]

主要使用 `?` 操作符,简化错误处理,使用迭代器链式调用,统计文件行数和单词数。

use std::{error::Error, fs};

// main 函数使用了 Result 枚举,函数内部可以使用 `?` 运算符,简化错误处理。
fn main() -> Result<(), Box<dyn Error>> {
    let s = fs::read_to_string("Cargo.toml")?;
    println!("Content: \n{}", s);
    println!("Line count: {}", line_count(&s));
    println!("Word count: {}", word_count(&s));

    // 最后,需要返回一个 Result::Ok(())
    Result::Ok(())
}

// 统计行数
fn line_count(s: &str) -> usize {
    s.chars().filter(|&c| c == '\n').count()
}

// 统计单词数
fn word_count(s: &str) -> usize {
    s.split_whitespace().count()
}

 

最新回复

能把RUST玩舒服,估计C++也不在话下了。毕竟C++生态多很多。   详情 回复 发表于 2025-3-25 11:16

回复
举报

7019

帖子

10

TA的资源

版主

看着这个语句还是挺复杂的,没有C简洁  

点评

从我个人角度(计算机、软件工程师、FP 爱好者)角度来说还是比较喜欢 Rust 的。   Rust 算是除了 Erlang 之外,唯一相对活跃,还让 FP 爱好者舒服的语言了。   而且 Rust 也借鉴了一些时下流行  详情 回复 发表于 2025-3-22 11:00
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引


回复

15

帖子

0

TA的资源

一粒金砂(中级)

秦天qintian0303 发表于 2025-3-22 10:07 看着这个语句还是挺复杂的,没有C简洁  

从我个人角度(计算机、软件工程师、FP 爱好者)角度来说还是比较喜欢 Rust 的。
 

Rust 算是除了 Erlang 之外,唯一相对活跃,还让 FP 爱好者舒服的语言了。

 

而且 Rust 也借鉴了一些时下流行的东西,比如 `?` 操作符,相比 Go 满屏 `if err != nil` 舒服太多了。

 

至于所有权系统嘛,不好评论,算是个亮点吧。比较多的槽点来自于这个,语法相对晦涩,如果停半年不写,再看之前的代码,会非常陌生。

点评

就是现在的应用还不是很多,什么语言就是这样,时间长了不用就忘记了  详情 回复 发表于 2025-3-22 16:17

回复

7019

帖子

10

TA的资源

版主

ningh 发表于 2025-3-22 11:00 从我个人角度(计算机、软件工程师、FP 爱好者)角度来说还是比较喜欢 Rust 的。   Rust 算是除 ...

就是现在的应用还不是很多,什么语言就是这样,时间长了不用就忘记了

个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引


回复

7804

帖子

2

TA的资源

五彩晶圆(高级)

能把RUST玩舒服,估计C++也不在话下了。毕竟C++生态多很多。

个人签名

默认摸鱼,再摸鱼。2022、9、28


回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 3

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表