C++ (C++17 ləhcəsi) yalnız başlıq üçün əmr satırı arqumentlərinin təhlili kitabxanasının 3.0 versiyası buraxılmışdır. argparse, MIT lisenziyası altında paylanır.
Yeni nə var:
- Qarşılıqlı eksklüziv arqumentlər üçün əlavə dəstək:
avtomatik &qrup = program.add_mutually_exclusive_group(); group.add_argument("—birinci"); group.add_argument("—ikinci");
- C++ 20 modulu əlavə edildi;
- Çoxsaylı dəyərlər arasından seçim üçün əlavə dəstək:
program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); proqram.add_arqument("count") .default_value(0) .seçimlər(0, 1, 2, 3, 4, 5);
- İkili notasiya üçün əlavə dəstək, məsələn, 0b101:
argparse::ArgumentParser proqramı("test"); program.add_argument("-n").scan<'b', uint8_t>();
- Alt komanda analizini qəbul edən is_subcommand_used-in həddindən artıq yüklənmiş versiyası əlavə edildi;
- exit_on_default_arguments parametri ArgumentParser-ə əlavə edildi;
- --help əmr çıxışından alt əmrləri gizlətmək üçün əlavə dəstək:
argparse::ArgumentParser proqramı("test"); argparse::ArgumentParser hidden_cmd("gizli"); hidden_cmd.add_argument("fayllar").qalan(); hidden_cmd.set_suppress(doğru); proqram.add_subparser(gizli_cmd);
- ArgumentParser-də təhlil edilmiş dəyərlərin olub olmadığını yoxlamaq imkanı əlavə edildi;
- Arqumentlər üçün çox sətirli yardım üçün sütun hizalanması əlavə edildi;
- Bir çox səhvlər düzəldildi.
Mənbə: linux.org.ru
