2015-03-08 5 views
4

Я пытаюсь использовать optparse-applyative. Как я могу получить доступ к аргументам, которые не являются параметрами? (От prog --foo --bar=42 baz, я хочу получить ["baz"])Как получить «оставшиеся аргументы» в optparse-applyative?

Все эти «высокого уровня» функции https://hackage.haskell.org/package/optparse-applicative-0.11.0.2/docs/Options-Applicative-Extra.html возврата a где я хочу (a,[String]).

Существует некоторая низкоуровневая функция https://hackage.haskell.org/package/optparse-applicative-0.11.0.2/docs/Options-Applicative-Common.html#v:runParser, но я не могу назвать ее напрямую из-за ее типа. И действительно, я хочу снова использовать всю сантехнику, которая находится в https://hackage.haskell.org/package/optparse-applicative-0.11.0.2/docs/src/Options-Applicative-Extra.html#execParser.

ответ

3

Позиционные аргументы являются частью спецификации парсера. Они не возвращаются отдельно функцией, которая запускает парсер. Функции argument и strArgument могут использоваться для добавления парсера для позиционного аргумента в спецификацию.