first commit
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/target
|
||||||
7
Cargo.lock
generated
Normal file
7
Cargo.lock
generated
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 4
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "minigrep"
|
||||||
|
version = "0.1.0"
|
||||||
6
Cargo.toml
Normal file
6
Cargo.toml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[package]
|
||||||
|
name = "minigrep"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2024"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
24
README.md
Normal file
24
README.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# minigrep
|
||||||
|
|
||||||
|
A command-line search tool built in Rust, following the [minigrep project](https://doc.rust-lang.org/book/ch12-00-an-io-project.html) from **The Rust Programming Language** book.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo run -- <query> <file_path>
|
||||||
|
```
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
|
||||||
|
Searches for a string pattern within a file and prints the matching lines to stdout.
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
This is my personal implementation of the minigrep project from the Rust Book, used to practice Rust fundamentals such as:
|
||||||
|
|
||||||
|
- CLI argument handling
|
||||||
|
- File I/O
|
||||||
|
- Error handling
|
||||||
|
- Structs and methods
|
||||||
|
- Iterators and closures
|
||||||
|
- Writing tests
|
||||||
15
src/main.rs
Normal file
15
src/main.rs
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
use std::env;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// Args returns an iterator of args from cli
|
||||||
|
// Collect turns an iterator into a collection
|
||||||
|
// In this case transform values of args into a vector
|
||||||
|
let args: Vec<String> = env::args().collect();
|
||||||
|
let query = &args[0];
|
||||||
|
let file_path = &args[1];
|
||||||
|
|
||||||
|
println!("Searching for {query}");
|
||||||
|
println!("In file {file_path}");
|
||||||
|
// TODO handle the case of less or more parameters entered by user
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user