Command-Line Rust

Command-Line Rust A Project-Based Primer for Writing Rust CLIs

First edition

Paperback (25 Jan 2022)

Save $16.92

  • RRP $67.22
  • $50.30
Add to basket

Includes delivery to the United States

10+ copies available online - Usually dispatched within two working days

Publisher's Synopsis

Updated in 2024: A new version has been released that simplifies the programs used in the book, based on changes in the Rust language and crates since original publication. The code has been updated to reflect version 4 of the clap crate.



For several consecutive years, Rust has been voted "most loved programming language" in Stack Overflow's annual developer survey. This open source systems programming language is now used for everything from game engines and operating systems to browser components and virtual reality simulation engines. But Rust is also an incredibly complex language with a notoriously difficult learning curve.

Rather than focusing on the language as a whole, this guide teaches Rust using a single small, complete, focused program in each chapter. Author Ken Youens-Clark shows you how to start, write, and test each of these programs to create a finished product. You'll learn how to handle errors in Rust, read and write files, and use regular expressions, Rust types, structs, and more.

Discover how to:

  • Use Rust's standard libraries and data types such as numbers, strings, vectors, structs, Options, and Results to create command-line programs
  • Write and test Rust programs and functions
  • Read and write files, including stdin, stdout, and stderr
  • Document and validate command-line arguments
  • Write programs that fail gracefully
  • Parse raw and delimited text manually, using regular expressions and Rust crates
  • Use and control randomness

Book information

ISBN: 9781098109431
Publisher: O'Reilly Media
Imprint: O'Reilly
Pub date:
Edition: First edition
DEWEY: 005.133
DEWEY edition: 23
Language: English
Sales rank: 8379
Number of pages: xviii, 377
Weight: 708g
Height: 248mm
Width: 236mm
Spine width: 27mm