"rlcompleter" --- GNU readline の補完機能
*****************************************

**ソースコード:** Lib/rlcompleter.py

======================================================================

"rlcompleter" モジュールは、"readline" モジュールの "set_completer()"
に渡すのに適した補完関数を定義しています。

"readline" モジュールが利用可能な Unix プラットフォームでこのモジュー
ルをインポートすると、"Completer" クラスのインスタンスが自動的に作成さ
れ、その "complete()" メソッドが readline の補完関数 に設定されます。
このメソッドは有効な Python の 識別子とキーワード を補完します。

以下はプログラム例です:

   >>> import rlcompleter
   >>> import readline
   >>> readline.parse_and_bind("tab: complete")
   >>> readline. <TAB PRESSED>
   readline.__doc__          readline.get_line_buffer(  readline.read_init_file(
   readline.__file__         readline.insert_text(      readline.set_completer(
   readline.__name__         readline.parse_and_bind(
   >>> readline.

"rlcompleter" モジュールは、Python の 対話モード で使うよう設計されて
います。 "-S" オプション付きで Python を実行した場合を除き、自動的にイ
ンポートされ、設定されます (readline の設定 を参照)。

"readline" のないプラットフォームでも、このモジュールで定義される
"Completer" クラスは独自の目的に使えます。

class rlcompleter.Completer

   Completerオブジェクトは以下のメソッドを持っています:

   complete(text, state)

      *text* の次の補完候補を返します。

      "readline" モジュールから呼び出されるときは、"None" を返すまで
      "state == 0, 1, 2, ..." で順に呼び出されます。

      もし *text* がピリオド("'.'")を含まない場合、 "__main__" 、
      "builtins" で定義されている名前か、キーワード ("keyword" モジュ
      ールで定義されている) から補完されます。

      ドットで区切られた名前に対して呼び出された場合、明らかな副作用が
      ない範囲で最後の部分より前を評価し、残りの部分にマッチするものを
      "dir()" 関数で探します。 関数は評価しませんが、"__getattr__()"
      が呼び出されることはあります。 式の評価中に発生した例外はすべて
      捕捉して抑制し、"None" を返します。
