Skip to content

Commit

Permalink
refactor: examples/tree_traversals.rs now uses clap derive (#337)
Browse files Browse the repository at this point in the history
  • Loading branch information
molpopgen authored Oct 28, 2022
1 parent c6719c4 commit 84c0cb4
Showing 1 changed file with 10 additions and 14 deletions.
24 changes: 10 additions & 14 deletions examples/tree_traversals.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use clap::{Arg, Command};
use clap::Parser;
use tskit::prelude::*;

// "Manual" traversal from samples to root
Expand All @@ -24,20 +24,16 @@ fn preorder_traversal(tree: &tskit::Tree) {
for _ in tree.traverse_nodes(tskit::NodeTraversalOrder::Preorder) {}
}

#[derive(clap::Parser)]
struct Params {
#[clap(short = 't', long = "treefile", value_parser, help = "Tree file name")]
treefile: String,
}

fn main() {
let matches = Command::new("tree_traversals")
.arg(
Arg::new("treefile")
.short('t')
.long("treefile")
.help("Tree file name")
.takes_value(true),
)
.get_matches();

let treefile: String = matches.value_of_t_or_exit("treefile");

let treeseq = tskit::TreeSequence::load(&treefile).unwrap();
let params = Params::parse();

let treeseq = tskit::TreeSequence::load(&params.treefile).unwrap();

let mut tree_iterator = treeseq.tree_iterator(tskit::TreeFlags::default()).unwrap();

Expand Down

0 comments on commit 84c0cb4

Please sign in to comment.