9

ruby-doc.orgページ で、コマンドライン オプション/引数の解析 (getopt ライブラリ) について次の情報を見つけました。

適切なエラー メッセージを POSIX 定義の形式で返します。エラーが発生していない場合は、nil を返します。

コマンドライン エラー メッセージの POSIX 定義の形式は何ですか? どのPOSIX標準ですか?

編集:

コマンド ライン引数/オプションを解析するときの標準/推奨エラー メッセージに関心があったことを明確にする必要があります。

以下のリンク(回答)で、getoptのこのエラー形式についてのみ言及していることがわかりました:

"%s: illegal option -- %c\n", <program name>, <option character>

"%s: option requires an argument -- %c\n", <program name>, <option character>

それはすべてですか?

4

2 に答える 2

3

IEEE Std 1003.1 です。エラー番号を参照errno.hしてください。POSIX.1-2008 およびそれ以前のリビジョンとも呼ばれます (セクション、年などの詳細については、wikiを参照してください)。

システムには、拡張された一連のエラー番号とそれらに関連付けられたメッセージがある可能性が高いことに注意してください。たとえば、Linux は C99 で定義されたエラー番号をサポートしています。実装固有のエラーもある可能性があります。参考までに、 Linux の例errno.hを示します。

于 2012-06-02T22:52:22.060 に答える
1

あなたの質問はgetopt()関数に関するものなので、おそらく関数の POSIX 仕様を探していgetopt()ます。その仕様は、getopts生成される可能性のあるエラー メッセージのユーティリティに従います。ユーティリティの理論的根拠のセクションではgetopts、一部の既存の実装での一部のエラー メッセージの形式について説明していますが、必須ではありません。

また、POSIX ユーティリティが通常準拠する規則については、 Utility Conventions仕様も参照する必要があります。(慣習からの逸脱があります。これは通常、長い間確立された歴史的な前例が原因です。通常、POSIX 慣習に一致するバリエーションが定義されています。)

于 2012-06-03T01:08:14.067 に答える