Crystal lang берет параметры опций из OptionParser, когда это не должно

Я начал использовать Crystal lang, я хочу использовать OptionParser для отображения текста справки, однако -h будет интерпретирован Crystal вместо OptionParser

Я использую пример из https://crystal-lang.org/api/0.18.7/OptionParser.html

и вызов приложения myAppl с помощью:

crystal src/myAppl.cr --help

Это показывает помощь Crystal. Теперь, если я скомпилирую приложение, оно покажет текст справки, который я написал OptionParser.

Что я делаю неправильно?


person Snake Sanders    schedule 15.12.2018    source источник
comment
unix.stackexchange.com/questions/11376/   -  person halfelf    schedule 17.12.2018


Ответы (1)


Взгляните на первую строку этого вывода справки:

Usage: crystal run [options] [programfile] [--] [arguments]

Именно -- позволяет принудительно передать аргумент скомпилированной программе, а не использовать его компилятором. Итак, следуя вашему примеру:

crystal src/myApp1.cr -- --help

Конечно, если вы скомпилируете свою программу, вы можете просто передать ее непосредственно в полученный двоичный файл:

crystal build src/myApp1.cr
./myApp1 --help
person Jonne Haß    schedule 15.12.2018