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 sort;
|
||||
|
||||
use clap::{Parser, Subcommand};
|
||||
use clap::{Args, Parser, Subcommand};
|
||||
use rand::Rng;
|
||||
use bst::BinarySearchTree;
|
||||
use stack::Stack;
|
||||
@ -17,7 +17,16 @@ struct Cli {
|
||||
#[derive(Subcommand, Debug)]
|
||||
enum Command {
|
||||
Default,
|
||||
DoRandom,
|
||||
DoRandom(DoRandomArgs),
|
||||
}
|
||||
|
||||
#[derive(Args, Debug)]
|
||||
struct DoRandomArgs {
|
||||
#[arg(long)]
|
||||
min: i32,
|
||||
|
||||
#[arg(long)]
|
||||
max: i32,
|
||||
}
|
||||
|
||||
struct Greeter {
|
||||
@ -91,12 +100,12 @@ fn do_default() {
|
||||
println!("sorted chars: {:?}", sorted_chars);
|
||||
}
|
||||
|
||||
fn do_random() {
|
||||
fn do_random(args: &DoRandomArgs) {
|
||||
let mut range = rand::thread_rng();
|
||||
let mut numbers = [0; 100];
|
||||
let mut i = 0;
|
||||
while i < numbers.len() {
|
||||
numbers[i] = range.gen_range(1..100);
|
||||
numbers[i] = range.gen_range(args.min..args.max);
|
||||
i += 1;
|
||||
}
|
||||
// println!("before sorting: {:?}", numbers);
|
||||
@ -113,8 +122,8 @@ fn main() {
|
||||
Command::Default => {
|
||||
do_default();
|
||||
}
|
||||
Command::DoRandom => {
|
||||
do_random();
|
||||
Command::DoRandom(args) => {
|
||||
do_random(&args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user