Crystal lang不应该从OptionParser获取选项参数

Sna*_*ers 1 optionparser crystal-lang

我开始使用Crystal lang 付费,我想使用OptionParser来显示帮助文本,但是-h将由Crystal而不是OptionParser进行interpred

我使用的是https://crystal-lang.org/api/0.18.7/OptionParser.html中的示例

并调用应用程序myAppl:

crystal src/myAppl.cr --help
Run Code Online (Sandbox Code Playgroud)

这显示了Crystal的帮助.现在,如果我编译应用程序,那么它会显示我编写OptionParser的帮助文本

我做错了什么?

Jon*_*Haß 5

看看帮助输出的第一行:

Usage: crystal run [options] [programfile] [--] [arguments]
Run Code Online (Sandbox Code Playgroud)

--就是允许您强制将参数传递给已编译的程序而不是由编译器使用的原因.所以按照你的例子:

crystal src/myApp1.cr -- --help
Run Code Online (Sandbox Code Playgroud)

当然,如果你编译你的程序,你可以直接将它传递给生成的二进制文件:

crystal build src/myApp1.cr
./myApp1 --help
Run Code Online (Sandbox Code Playgroud)