Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > readlineライブラリ > Readlineモジュール > completion_proc=
completion_proc=(proc)[permalink][rdoc]ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を指定します。 proc は、次のものを想定しています。
「/var/lib /v」の後で補完を行うと、 デフォルトでは proc の引数に「/v」が渡されます。 このように、ユーザが入力した文字列を Readline.completer_word_break_characters に含まれる文字で区切ったものを単語とすると、 カーソルがある単語の最初の文字から現在のカーソル位置までの文字列が proc の引数に渡されます。
例: foo、foobar、foobazを補完する。
require 'readline'
WORDS = %w(foo foobar foobaz)
Readline.completion_proc = proc {|word|
WORDS.grep(/\A#{Regexp.quote word}/)
}
while buf = Readline.readline("> ")
print "-> ", buf, "\n"
end
[SEE_ALSO] Readline.completion_proc