質問: コマンドラインフラグとコマンドラインオプションに違いはありますか? 私はこれら2つの用語を交換可能に聞いており、フラグが1文字のオプション用であるか、フラグが1つのダッシュの後にあるかのように、それらの間に違いがあるかどうか疑問に思っています。
回答: = =素晴らしいコマンドラインアプリケーションをruby 2 でビルドする)によると、主な違いは次のとおりです。switchは引数を取らず、flag does。本から直接引用する(15ページ): 通常、スイッチが長い形式(たとえば--foo)であり、一部の動作が「オン」になる場合は、先頭にno-が付いた別のスイッチもあります(たとえば--no-foo)。これで動作が「オフ」になります。最後に、長い形式のフラグは等号を介して引数を取りますが、短い形式のフラグでは、等号は通常使用されません。たとえば、httpリクエストを作成するcurlコマンドは、httpリクエストメソッドを指定するための短い形式のフラグと長い形式のフラグをそれぞれ提供します。それぞれ-xと--requestです。次の呼び出し例は、これらのフラグに引数を適切に渡す方法を示しています。curl -x post http://www.google.com curl --request=post http://www.google.com