argparse 3.0

argparse 3.0

Нашри 3.0 C++ (C++17 лаҳҷаи) танҳо китобхонаи сарлавҳа барои таҳлили далелҳои сатри фармон argparse, таҳти иҷозатномаи MIT тақсим карда мешавад.

Чӣ чизи нав:

  • дастгирии иловагӣ барои далелҳои мутақобилан истисно:

худкор &гурӯҳ = program.add_mutually_exclusive_group(); group.add_argument("—аввалин"); group.add_argument("—сония");

  • модули C++ 20 илова карда шуд;
  • дастгирии иловагӣ барои интихоб аз арзишҳои гуногун:

program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); program.add_argument("шумурдани") .default_value(0) .интихоб (0, 1, 2, 3, 4, 5);

  • дастгирии иловагии сабти дуӣ, масалан 0b101:

argparse::Барномаи ArgumentParser("озмоиш"); program.add_argument("-n").scan<'b', uint8_t>();

  • версияи изофабории is_subcommand_used илова карда шуд, ки таҳлилгари зерфармонро қабул мекунад;
  • параметри exit_on_default_arguments ба ArgumentParser илова карда шуд;
  • дастгирии иловашуда барои пинҳон кардани зерфармонҳо аз натиҷаи фармони --help:

argparse::Барномаи ArgumentParser("озмоиш"); argparse::ArgumentParser hidden_cmd("пинҳон"); hidden_cmd.add_argument("файлҳо").боқимонда(); hidden_cmd.set_suppress(дуруст); program.add_subparser(hidden_cmd);

  • қобилияти тафтиш кардани арзишҳои таҳлилшударо дар ArgumentParser илова кард;
  • ба сутуни ёрирасони бисёрсатрӣ барои далелҳо ҳамоҳангсозии иловашуда;
  • Бисёр хатогиҳо ислоҳ карда шуданд.

Манбаъ: linux.org.ru

Илова Эзоҳ