January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
中山 光樹
本付録は日本語版オリジナルの記事です。本書ではclapのバージョン2系を使ってきましたが、バージョン3系からはDerive APIと呼ばれる新しいAPIを利用できるようになりました。そこで、本稿ではclapのDerive APIについて簡単に紹介します。
本書でコマンドライン引数の解析のために書いてきたclapの書き方は、Builder APIと呼ばれています。それに対して、clapの新しいバージョンではDerive APIと呼ばれる書き方をできるようになりました。次のコードは、「3章 catコマンド」のコマンドライン引数を解析するコードとそれをDerive APIで書き直したものです。
Builder APIによるコードは次に示すとおりです。
useclap::{App,Arg};#[derive(Debug)]pubstructConfig{files:Vec<String>,number_lines:bool,number_nonblank_lines:bool,}pubfnget_args()->MyResult<Config>{letmatches=App::new("catr").version("0.1.0").author("Ken Youens-Clark <kyclark@gmail.com>").about("Rust cat").arg(Arg::with_name("files").value_name("FILE").help("Input file(s)").multiple ...
Read now
Unlock full access