Skip to content

Commit 84c0cb4

Browse files
authored
refactor: examples/tree_traversals.rs now uses clap derive (#337)
1 parent c6719c4 commit 84c0cb4

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

examples/tree_traversals.rs

+10-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use clap::{Arg, Command};
1+
use clap::Parser;
22
use tskit::prelude::*;
33

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

27+
#[derive(clap::Parser)]
28+
struct Params {
29+
#[clap(short = 't', long = "treefile", value_parser, help = "Tree file name")]
30+
treefile: String,
31+
}
32+
2733
fn main() {
28-
let matches = Command::new("tree_traversals")
29-
.arg(
30-
Arg::new("treefile")
31-
.short('t')
32-
.long("treefile")
33-
.help("Tree file name")
34-
.takes_value(true),
35-
)
36-
.get_matches();
37-
38-
let treefile: String = matches.value_of_t_or_exit("treefile");
39-
40-
let treeseq = tskit::TreeSequence::load(&treefile).unwrap();
34+
let params = Params::parse();
35+
36+
let treeseq = tskit::TreeSequence::load(&params.treefile).unwrap();
4137

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

0 commit comments

Comments
 (0)