Я хочу использовать значения по умолчанию для некоторых аргументов командной строки. Как сообщить program_options
, что такое параметр по умолчанию, и, если пользователь не предоставил аргумент, Как мне сообщить моей программе использовать значение по умолчанию?Как получить значения аргументов по умолчанию с помощью опций форматирования?
Скажем, я хочу иметь аргумент, указывающий количество роботов, чтобы отправить на убийственной неистовствовали со значением по умолчанию 3.
robotkill --robots 5
будет производить 5 robots have begun the silicon revolution
, в то время как robotkill
(без аргументов в комплект поставки) не будет производить 3 robots have begun the silicon revolution
.
Решение этой проблемы не может быть проще, но я не мог найти ее документированной нигде, поэтому я задал этот вопрос. – flies
Связано: как определить, предоставлен ли параметр со значением по умолчанию пользователем http://stackoverflow.com/questions/9200598/boost-program-options-with-default-values-always-present-when-using -vm-count ('count' не работает, по-видимому, потому что, даже если опция не указана, переменная map присваивает значение по умолчанию, поэтому счет никогда не равен нулю) – flies
http://www.boost.org/doc/ libs/1_65_1/doc/html/boost/program_options/typed_value.html # idp698602832-bb для технического описания и http://www.boost.org/doc/libs/1_65_0/doc/html/program_options/tutorial.html# idp419580960 для соответствующего объяснения учебника. По общему признанию, я должен был охотиться за теми, кто использовал ваш ответ, чтобы найти правильное имя для поиска. – patrickvacek