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