Add some arguments to do-random subcommand.
This commit is contained in:
parent
b7d443d093
commit
749bd0e2bc
21
src/main.rs
21
src/main.rs
@ -2,7 +2,7 @@ mod bst;
|
|||||||
mod stack;
|
mod stack;
|
||||||
mod sort;
|
mod sort;
|
||||||
|
|
||||||
use clap::{Parser, Subcommand};
|
use clap::{Args, Parser, Subcommand};
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use bst::BinarySearchTree;
|
use bst::BinarySearchTree;
|
||||||
use stack::Stack;
|
use stack::Stack;
|
||||||
@ -17,7 +17,16 @@ struct Cli {
|
|||||||
#[derive(Subcommand, Debug)]
|
#[derive(Subcommand, Debug)]
|
||||||
enum Command {
|
enum Command {
|
||||||
Default,
|
Default,
|
||||||
DoRandom,
|
DoRandom(DoRandomArgs),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Args, Debug)]
|
||||||
|
struct DoRandomArgs {
|
||||||
|
#[arg(long)]
|
||||||
|
min: i32,
|
||||||
|
|
||||||
|
#[arg(long)]
|
||||||
|
max: i32,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Greeter {
|
struct Greeter {
|
||||||
@ -91,12 +100,12 @@ fn do_default() {
|
|||||||
println!("sorted chars: {:?}", sorted_chars);
|
println!("sorted chars: {:?}", sorted_chars);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn do_random() {
|
fn do_random(args: &DoRandomArgs) {
|
||||||
let mut range = rand::thread_rng();
|
let mut range = rand::thread_rng();
|
||||||
let mut numbers = [0; 100];
|
let mut numbers = [0; 100];
|
||||||
let mut i = 0;
|
let mut i = 0;
|
||||||
while i < numbers.len() {
|
while i < numbers.len() {
|
||||||
numbers[i] = range.gen_range(1..100);
|
numbers[i] = range.gen_range(args.min..args.max);
|
||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
// println!("before sorting: {:?}", numbers);
|
// println!("before sorting: {:?}", numbers);
|
||||||
@ -113,8 +122,8 @@ fn main() {
|
|||||||
Command::Default => {
|
Command::Default => {
|
||||||
do_default();
|
do_default();
|
||||||
}
|
}
|
||||||
Command::DoRandom => {
|
Command::DoRandom(args) => {
|
||||||
do_random();
|
do_random(&args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user