###
11 その他のメソッド

OptionParser にはその他にも幾つかの公開されたメソッドがあります:

- `set_usage(usage)`

  上で説明したコンストラクタの `usage` キーワード引数での規則に従った 使用法の文字列をセットします。`None` を渡すとデフォルトの使用法文字列が 使われるようになり、`SUPPRESS_USAGE` によって使用法メッセージを 抑制できます。

- `enable_interspersed_args()`, `disable_interspersed_args()`

  位置引数をオプションと混ぜこぜにする GNU getopt のような扱いを有効化/無効化する (デフォルトでは有効)。たとえば、`"-a"` と `"-b"` はどちらも引数を 取らない単純なオプションだとすると、`optparse` は通常つぎのような文法を 受け入れます。

      prog -a arg1 -b arg2

  そして扱いは次のように指定した時と同じです。

      prog -a -b arg1 arg2

  この機能を無効化したい時は `disable_interspersed_args()` を 呼び出してください。この呼び出しにより、伝統的な Unix 文法に回帰し、 オプションの解析は最初のオプションでない引数で止まるようになります。

- `set_defaults(dest=value, ...)`

  幾つかの保存先に対してデフォルト値をまとめてセットします。 `set_defaults()` を使うのは複数のオプションにデフォルト値をセットする 好ましいやり方です。というのも複数のオプションが同じ保存先を共有することがあり得るからです。 たとえば幾つかの ``mode'' オプションが全て同じ保存先をセットするものだったとすると、 どのオプションもデフォルトをセットすることができ、しかし最後に指定したものが勝ちます。

      parser.add_option("--advanced", action="store_const",
                        dest="mode", const="advanced",
                        default="novice")    # 上書きされます
      parser.add_option("--novice", action="store_const",
                        dest="mode", const="novice",
                        default="advanced")  # 上の設定を上書きします

  こうした混乱を避けるために `set_defaults()` を使います。

      parser.set_defaults(mode="advanced")
      parser.add_option("--advanced", action="store_const",
                        dest="mode", const="advanced")
      parser.add_option("--novice", action="store_const",
                        dest="mode", const="novice")