Crystal lang 在不应该的时候从 OptionParser 获取选项参数

Crystal lang takes option parameters from OptionParser when it shouldn't

我开始使用 Crystal lang,我想使用 OptionParser 来显示帮助文本,但是 -h 将被 Crystal 解释而不是 OptionParser

我正在使用 https://crystal-lang.org/api/0.18.7/OptionParser.html

中的示例

并使用 myAppl 调用应用程序:

crystal src/myAppl.cr --help

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

我做错了什么?

查看帮助输出的第一行:

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

-- 允许您强制将参数传递给编译程序而不是被编译器使用。所以按照你的例子:

crystal src/myApp1.cr -- --help

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

crystal build src/myApp1.cr
./myApp1 --help