From: jitte@... Date: 2007-05-20T13:35:14+09:00 Subject: [ruby-list:43546] Re: irbに一行で入力できる長さについて 篠原と申します。 コマンドプロンプトの桁数を80以外に変更していないでしょうか。 最近Windows環境のrubyをいじっていないので推測ですが、 どの配布でもreadlineライブラリは含まれているはずですから、 基本的には桁数が80であればちゃんと操作できると思います。 80桁以外にしたい場合はちょっと工夫が必要と思います。というのも、 readlineライブラリのソースを読んだところ、Win32環境で画面サイズを 取得するコードはrl_prep_terminalに書かれているのですが、ruby側からは 呼ばれていないようでした。これを明示的に呼んでやれば、80桁以外 でも操作できるようになりました。 ということで、具体的には以下のようなコードで対処していました。 require 'readline.so' module Readline alias :readline_so :readline def readline(*a) unless @@rl_prep_called ||= false require 'dl' DL.dlopen('readline.dll')['rl_prep_terminal', '0I'][1] @@rl_prep_called = true end readline_so(*a) end module_function :readline_so, :readline end これを、インストールパスの site_ruby/1.8/readline.rb として保存しておくと 以後、require 'readline' されたときに rl_prep_terminal が1回だけ呼ばれます。 irb とか debug とか、iar(active recordのirbフロントエンド)とかで有効でした。 ruby-1.8.4時代の話ですが、ご参考まで。 07/05/18 に 山崎雄介 さんは書きました: > 山崎(ゆ)です。 > > Windowsのコマンドプロンプトでirbに76バイト以上の文字列を入力すると、バッ > クスペースやカーソル移動の操作がまともにできなくなってしまいますが、これ > を修正する方法はあるのでしょうか? > > One-Click Ruby Installer 1.8.6.25 を入れています。 > > _______________________ > Yusuke Yamasaki > > >