Kernel#gets
を使うと、バックスペースなどの制御コードが文字として入力されてしまい残念な事になる。
irb(main):001:0> s = gets
abce^?d^[[D^[[D
=> "abce\u007Fd\e[D\e[D\n"
Readline.readline
を使うと、行の編集が出来るため便利。
irb(main):002:0> s = Readline.readline('> ', false)
> abcdef
=> "abcdef"
という事で良いのだろうか?readline
ではない、他の組み込みライブラリや標準添付ライブラリで上手くやれたりするだろうか。