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

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

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

The "rlcompleter" module defines a completion function suitable to be
passed to "set_completer()" in the "readline" module.

When this module is imported on a Unix platform with the "readline"
module available, an instance of the "Completer" class is
automatically created and its "complete()" method is set as the
readline completer. The method provides completion of valid Python
identifiers and keywords.

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

   >>> 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.

The "rlcompleter" module is designed for use with Python's interactive
mode.  Unless Python is run with the "-S" option, the module is
automatically imported and configured (see readline の設定).

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

class rlcompleter.Completer

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

   complete(text, state)

      Return the next possible completion for *text*.

      When called by the "readline" module, this method is called
      successively with "state == 0, 1, 2, ..." until the method
      returns "None".

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

      If called for a dotted name, it will try to evaluate anything
      without obvious side-effects (functions will not be evaluated,
      but it can generate calls to "__getattr__()") up to the last
      part, and find matches for the rest via the "dir()" function.
      Any exception raised during the evaluation of the expression is
      caught, silenced and "None" is returned.
