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