From 2ea6cf857425c813613cf2cedb18d5a532e9baaa Mon Sep 17 00:00:00 2001 From: "Kevin R. Thornton" Date: Fri, 28 Oct 2022 09:23:05 -0700 Subject: [PATCH] refactor: examples/tree_traversals.rs now uses clap derive --- examples/tree_traversals.rs | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/examples/tree_traversals.rs b/examples/tree_traversals.rs index 0c36a81ab..18cddfc99 100644 --- a/examples/tree_traversals.rs +++ b/examples/tree_traversals.rs @@ -1,4 +1,4 @@ -use clap::{Arg, Command}; +use clap::Parser; use tskit::prelude::*; // "Manual" traversal from samples to root @@ -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(¶ms.treefile).unwrap(); let mut tree_iterator = treeseq.tree_iterator(tskit::TreeFlags::default()).unwrap();