[#43494] ブロックとともに呼び出されたsortについて — "Toshiyuki Ogura" <oguradio@...>

小倉です。

12 messages 2007/05/15

[#43508] rubyのテキストについて — 桑江 康公 <ykuwae@...>

はじめまして、桑江といいます。プログラム開発の勉強をはじめたいと考えています。いろいろと調べたのですが、オブジェクト指向を使った開発が現在しりゅうとのことで、Javaを勉強しようと考えていたのですが、rubyという言語もあるということがわかりネットで調べたところこのメーリングリストにたどり着きました。どなたかプログラム開発初心者でもわかりやすい本またはサイトがありましたら教えていただけないでしょうか?ちなみに、私のレベルはHTMLが少しわかる程度です。

8 messages 2007/05/15

[ruby-list:43546] Re: irbに一行で入力できる長さについて

From: jitte@...
Date: 2007-05-20 04:35:14 UTC
List: ruby-list #43546
篠原と申します。

コマンドプロンプトの桁数を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 に 山崎雄介<y-yamasaki@saeilo.co.jp> さんは書きました:
> 山崎(ゆ)です。
>
> Windowsのコマンドプロンプトでirbに76バイト以上の文字列を入力すると、バッ
> クスペースやカーソル移動の操作がまともにできなくなってしまいますが、これ
> を修正する方法はあるのでしょうか?
>
> One-Click Ruby Installer 1.8.6.25 を入れています。
>
> _______________________
> Yusuke Yamasaki <y-yamasaki@saeilo.co.jp>
>
>
>

In This Thread