C++ (C++17 ဒေသိယစကား) ၏ ဗားရှင်း 3.0 ၏ ခေါင်းစီး-သာမန်-အမိန့်ပေးစာကြောင်း အငြင်းအခုံ ခွဲခြမ်းစိတ်ဖြာသည့် စာကြည့်တိုက်ကို ထုတ်ပြန်လိုက်ပါပြီ။ arparseMIT လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။
ဘာထူးသလဲ:
- သီးသန့် ငြင်းခုံမှုများ အတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်-
အလိုအလျောက် &group = program.add_mutually_exclusive_group(); group.add_argument("—first"); group.add_argument("—ဒုတိယ");
- C++20 မော်ဂျူးကို ထည့်သွင်းထားသည်။
- တန်ဖိုးများစွာမှ ရွေးချယ်ခြင်းအတွက် ထပ်လောင်းပံ့ပိုးမှု-
program.add_argument("input") .default_value(std::string{"baz"}).choices("foo", "bar", "baz"); program.add_argument("count") .default_value(0) .choices(0၊ 1၊ 2၊ 3၊ 4၊ 5);
- binary notation အတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသော ဥပမာ၊ 0b101-
argparse::ArgumentParser program("test"); program.add_argument("-n").စကင်န်<'b', uint8_t>();
- subcommand parser ကိုလက်ခံသော is_subcommand_used ၏ overloaded ဗားရှင်းကို ပေါင်းထည့်ခဲ့သည်။
- exit_on_default_arguments parameter ကို ArgumentParser သို့ ပေါင်းထည့်လိုက်ပါပြီ။
- --help command output မှ subcommands များကို ဝှက်ထားရန် ပံ့ပိုးမှု ထပ်ထည့်သည်-
argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd("hidden"); hidden_cmd.add_argument("files").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- ArgumentParser တွင် ခွဲခြမ်းစိတ်ဖြာထားသော တန်ဖိုးများ ရှိနေခြင်းအတွက် စစ်ဆေးရန် စွမ်းရည်ကို ပေါင်းထည့်ထားသည်။
- အငြင်းအခုံများအတွက် လိုင်းပေါင်းစုံအကူအညီအတွက် ကော်လံချိန်ညှိမှုကို ပေါင်းထည့်ထားသည်။
- ချို့ယွင်းချက်များစွာကို ပြုပြင်ပြီးပါပြီ။
source: linux.org.ru
