当前位置: 首页 > news >正文

朔城网站制作企业培训考试平台官网

朔城网站制作,企业培训考试平台官网,重庆市建筑信息网查询,抖音代运营报价明细表12.2.0. 写在正文之前 第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print),是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。 这个项目分为这么几步: 接收命令行参数读…

12.2.0. 写在正文之前

第12章要做一个实例的项目——一个命令行程序。这个程序是一个grep(Global Regular Expression Print),是一个全局正则搜索和输出的工具。它的功能是在指定的文件中搜索出指定的文字。
请添加图片描述

这个项目分为这么几步:

  • 接收命令行参数
  • 读取文件(本文)
  • 重构:改进模块和错误处理
  • 使用TDD(测试驱动开发)开发库功能
  • 使用环境变量
  • 将错误信息写入标准错误而不是标准输出

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

12.2.2. 回顾

这是截止到上文所写出的所有代码:

use std::env;  fn main() {  let args:Vec<String> = env::args().collect();  let query = &args[1];  let filename = &args[2];println!("search for {}", query);  println!("In file {}", filename);  
}

代码到此解决了读取用户指令的部分,接下来要根据用户的输入读取文件。

12.2.3. 读取文件

为了实现读取文件的操作,需要引入std::fs,这个模块可以处理与文件相关的事物:

use std::fs;

接下来,根据filename来读取文件:

let contents = fs::read_to_string(filename);

当然,读取会可能发生错误,所以它的返回值并不直接就是内容而是Result枚举,针对这个枚举,可以使用expect方法来解包,expect方法的参数是如果发生错误时打印的错误信息(expect方法在 9.2. Result枚举与可恢复的错误 Pt.1 中有详细介绍)。

let contents = fs::read_to_string(filename)
.expect("Somthing went wrong while reading the file");//这里换行只是为了这行不过长

如果能成功读取,就把读取到的内容打印出来:

println!("With text:\n{}", contents);

12.2.4. 代码测试

实现到这一步,可以对代码进行一些测试了。

这是截止到目前所写出的所有代码:

use std::env;  
use std::fs;  fn main() {  let args:Vec<String> = env::args().collect();  let query = &args[1];  let filename = &args[2];  println!("search for {}", query);  println!("In file {}", filename);  let contents = fs::read_to_string(filename)  .expect("Somthing went wrong while reading the file");//这里换行只是为了这行不过长  println!("With text:\n{}", contents);  
}

首先在项目目录下创建一个.txt文本,名字可以自己取,我取的是poem.txt,然后在里面随便放点文本内容,我放的是:

I'm nobody! Who are you?
Are you nobody, too?
Then there's a pair of us - don't tell!
They'd banish us, you know.How dreary to be somebody!
How public, like a frog
To tell your name the livelong day
To an admiring bog!

然后输入命令:

cargo run -- the poem.txt
  • 这里的--是代表后面所写的是参数是用来区分Cargo 命令的参数传递给程序的参数的。它的作用是告诉 Cargo,接下来的内容不是 Cargo 的选项或参数,而是运行程序时需要传递给程序的参数。它并不会被读取和存储。
  • the对应的就是要查找的内容,会被存储在query
  • poem.txt就是文件名,会被存储在filename

输出:

$ cargo run -- the poem.txtCompiling minigrep v0.1.0 (file:///projects/minigrep)Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.0sRunning `target/debug/minigrep the poem.txt`
Searching for the
In file poem.txt
With text:
I'm nobody! Who are you?
Are you nobody, too?
Then there's a pair of us - don't tell!
They'd banish us, you know.How dreary to be somebody!
How public, like a frog
To tell your name the livelong day
To an admiring bog!

没有任何问题。

http://www.hkea.cn/news/808852/

相关文章:

  • 搭建直播网站需要怎么做教育培训机构平台
  • 濮阳网站网站建设网络营销策划是什么
  • 做新闻网站需要什么手续河北软文搜索引擎推广公司
  • 广州网站建设联系电话seo推广的公司
  • 一起做网店一样的网站关键词歌曲免费听
  • 负责网站建设推广本周热点新闻事件
  • 快速做网站优化谷歌在线浏览入口
  • 苏州企业网站建设开发与制作2023年6月份又封城了
  • 用java做网站可以吗吉林seo刷关键词排名优化
  • 网站建设面试google广告投放技巧
  • 整形网站整站源码如何让关键词排名靠前
  • php网站后台搭建外贸网站大全
  • 建 新闻 网站营销战略有哪些内容
  • 营销融合app网站seo招聘
  • 快速做网站的方法网站换了域名怎么查
  • 建筑工程网络计划图怎么编制百度seo搜索排名
  • 免费建网站系统百度云登陆首页
  • wordpress 采集微博网站建设优化
  • 做淘宝客新增网站推广百度用户服务中心人工电话
  • 域名备案网站建设书模板百度统计登录
  • 禁止WordPress访问官网优化关键词排名提升
  • 爬取漫画数据做网站今日热搜新闻头条
  • 雄安网站建设制作网站关键词如何快速上首页
  • 佛山从事网站建设百度小程序入口官网
  • 自建网站平台可以实现哪些功能网络营销这个专业怎么样
  • 佛山新网站制作公司网页制作成品模板网站
  • 校园网站建设的意见企业管理培训课程网课
  • 郑大远程教育动态网站建设seo优化关键词排名
  • 做logo什么网站昆明百度关键词优化
  • 怎样做省钱购物网站sem推广代运营