16.9. "rlcompleter" --- GNU readline向け補完関数
************************************************

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

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

"rlcompleter" モジュールではPythonの識別子やキーワードを定義した
"readline" モジュール向けの補完関数を定義しています。

このモジュールが Unixプラットフォームでimportされ、 "readline" が利用
できるときには、 "Completer" クラスのインスタンスが自動的に作成され、
"complete()" メソッドが "readline" 補完に設定されます。

例:

   >>> 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の対話モードで利用する為にデザインさ
れています。ユーザは以下の命令を初期化ファイル (環境変数
"PYTHONSTARTUP" によって定義されます)に書き込むことで、 "Tab" キーによ
る補完を利用できます:

   try:
       import readline
   except ImportError:
       print "Module readline not available."
   else:
       import rlcompleter
       readline.parse_and_bind("tab: complete")

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


16.9.1. Completerオブジェクト
=============================

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

Completer.complete(text, state)

   *text* の *state* 番目の補完候補を返します。

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

   ピリオドを含む名前の場合、副作用を出さずに名前を最後まで評価しよう
   とします(関数を明示的に呼び出しはしませんが、 "__getattr__()" を呼
   んでしまうことはあります)そして、 "dir()" 関数でマッチする語を見つ
   けます。式を評価中に発生した全ての例外は補足して無視され、 "None"
   を返します。
