GNU Readline �ˤ�륳�ޥ�ɥ饤�����ϥ��ե�����������⥸�塼 ��Ǥ���
���Τ褦�ˤ��ƻȤ��ޤ���
require "readline" while buf = Readline.readline("> ", true) print "-> ", buf, "\n" end
Readline.readline([prompt, [add_hist]])
�桼������Υ������Ϥ��ᡢ���Ϥ���ʸ������֤��ޤ���EOF(UNIX �� �� ^D)�����Ϥ���� nil ���֤��ޤ���
���ϻ��ˤϹ����Խ�����ǽ�ǡ�vi �⡼�ɤ� Emacs �⡼�ɤ��Ѱդ���Ƥ��ޤ��� (Readline.vi_editing_mode��Readline.emacs_editing_mode ��)���ǥե���Ȥ� Emacs �⡼�ɤǤ���
ʸ���� prompt ����ꤹ��ȥ�����������ˤ���ʸ�����ɽ�����ޤ���
add_hist �����ʤ�С����Ϥ���ʸ����ϥҥ��ȥ�˵�Ͽ����ޤ��� Emacs �⡼�ɤʤ� ^P �����Ϥ��뤳�Ȥ��������Ϥ���ʸ�����ƤӽФ��� �ꡢReadline::HISTORY �⥸�塼��ˤ��ҥ��ȥ�����Ƥ��� �뤳�Ȥ��Ǥ��ޤ������Υǥե�����ͤ� nil �Ǥ���
�����Ԥ��ξ��֤� ^C ����� ruby ���ץ����Ȥ⽪λ��ü���� �֤��������ޤ���������ˤϡ�
stty_save = `stty -g`.chomp begin while buf = Readline.readline p buf end rescue Interrupt system("stty", stty_save) exit end
�ޤ��ϡ�
stty_save = `stty -g`.chomp trap("INT") { system "stty", stty_save; exit } while buf = Readline.readline p buf end
�ʤɤȤ��ޤ���ñ�ˡ�^C ������դ��ʤ���������ʤ�аʲ��ǽ�ʬ�Ǥ���
trap("INT", "SIG_IGN") while buf = Readline.readline p buf end
Readline.completion_proc= proc
�䴰����ư�����ꤹ��Proc���֥������Ȥ���ꤷ�ޤ���
proc�ϰ���������ʸ������ꡢ����ʸ�����������֤��褦��
���Ƥ���������
����ʸ�����ñ�줴�Ȥ˶��ڤ��ޤ���
bash���䴰��Ʊ����/[ \t\n\"\\'`@$><=;|&{(]/
��ñ��˶��ڤ�ޤ���*1
require 'readline' WORDS = %w(foo foobar foobaz) Readline.completion_proc = proc {|word| WORDS.grep(/^#{Regexp.quote word}/) } while buf = Readline.readline("> ") p buf end
Readline.basic_word_break_characters=(str)
Readline.basic_word_break_characters
�䴰����ñ��Ʊ�Τζ��ڤ����ꤹ�� basic ��ʸ���ǥե���ȤǤ� Bash�Ѥ�ʸ���� " \t\n\"\\'`@$><=;|&{(" (���ڡ����ޤ�)�ˤʤäƤ��ޤ���
Readline.completer_word_break_characters=(str)
Readline.completer_word_break_characters
rl_complete_internal() �ǻȤ��롢�䴰����ñ��Ʊ�Τζ��ڤ����ꤹ�� ʸ����Ǥ����ǥե���ȤǤ� Readline.basic_word_break_characters �Ǥ���
Readline.basic_quote_characters=(str)
Readline.basic_quote_characters
���������ꤷ�ޤ����ǥե���ȤǤϡ�/"'/ �Ǥ���
Readline.completer_quote_characters=(str)
Readline.completer_quote_character
�䴰���ΰ��������ꤷ�ޤ������ΰ�����δ֤Ǥϡ�completer_word_break_characters �⡢���̤�ʸ����Ȥ��ư����ޤ���
Readline.filename_quote_characters=(str)
Readline.filename_quote_characters
�䴰���Υե�����̾�ΰ��������ꤷ�ޤ����ǥե���ȤǤ� nil �Ǥ���
Readline.completion_proc
�䴰����ư�����ꤹ��Proc���֥������Ȥ��֤��ޤ���
Readline.completion_case_fold=(bool)
Readline.completion_case_fold
�����䴰������ʸ������ʸ���ζ��̤뤫�ɤ�������ꤷ�ޤ��� bool �����ʤ�ж��̤��ޤ���
Readline.vi_editing_mode
�Խ��⡼�ɤ� vi �⡼�ɤˤ��ޤ����ܺ٤ϡ�GNU Readline �Υޥ˥奢�� �Ȥ��Ƥ���������
Readline.emacs_editing_mode
�Խ��⡼�ɤ� Emacs �⡼�ɤˤ��ޤ����ǥե���Ȥ� Emacs �⡼�ɤǤ���
�ܺ٤ϡ�GNU Readline �Υޥ˥奢��Ȥ��Ƥ���������
Readline::FILENAME_COMPLETION_PROC
Readline::USERNAME_COMPLETION_PROC
�饤�֥����Ȥ߹��ߤ��Ѱդ��줿�䴰�� Proc ���֥������ȤǤ��� ���줾��ե�����̾���桼��̾���䴰��Ԥ��ޤ��� Readline.completion_proc= �ǻ��Ѥ��ޤ���
Readline::HISTORY
Readline�⥸�塼������Ϥ������Ƥ���������Ȥ��Ƶ�Ͽ����ޤ�(ͭ���ˤ� �Ƥ���ФǤ�����Readline.readline ��)
��������ˤ�ꡢ������������Ƥ˥����������뤳�Ȥ��Ǥ��ޤ��������褽�� Array ���饹�Υ����Τ褦�˿��ޤ��� (Enumerable �⥸�塼���extend ���Ƥ��ޤ�)
while buf = Readline.readline("> ", true) p Readline::HISTORY.to_a print "-> ", buf, "\n" end
���Ԥ�ľ�������Ϥ�Ʊ�����Ƥ���������˻Ĥ������ʤ��Ȼפ������Τ�ޤ��� ���ξ�硢�ʲ��Τ褦�ˤ��ޤ���
while buf = Readline.readline("> ", true) # p Readline::HISTORY.to_a Readline::HISTORY.pop if /^\s*$/ =~ buf begin Readline::HISTORY.pop if Readline::HISTORY[Readline::HISTORY.length-2] == buf rescue IndexError end # p Readline::HISTORY.to_a print "-> ", buf, "\n" end