[#30426] CGI でグラフを描くときにお勧めのライブラリは? — 堀川 久 <vzw00011@...>

こんにちは。

12 messages 2001/07/01

[#30453] syntax check without execution? — Tanaka Akira <akr@...17n.org>

最近、eRuby のまねごとをしていて、そのなかで Ruby のコードを生成してい

16 messages 2001/07/04
[#30455] Re: syntax check without execution? — matz@... (Yukihiro Matsumoto) 2001/07/04

まつもと ゆきひろです

[#30479] Object#dup — "Shin'ya Adzumi" <adzumi@...>

あづみです。

20 messages 2001/07/05

[#30512] open errno EALREADY triggerd — "Inoue" <inoue@...>

井上です。

16 messages 2001/07/08

[#30514] Ruby module frame work? — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2001/07/09
[#30515] Re: Ruby module frame work? — matz@... (Yukihiro Matsumoto) 2001/07/09

まつもと ゆきひろです

[#30529] InterBase を使用したい — "YOUJI KUROKAWA" <CQE10242@...>

環境

22 messages 2001/07/09

[#30530] Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...>

縄手@松江と言います。

17 messages 2001/07/09
[#30531] Re: Question about script on the book "Ruby nyuumon" — rubikitch <rubikitch@...> 2001/07/09

From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>

[#30533] Re: Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...> 2001/07/09

縄手@松江です。

[#30734] UML クラス図と Ruby の記述についての対応 — Ken-ichi HASHIMOTO <ken@...>

橋本@福井県在住です。

13 messages 2001/07/28

[#30764] int/int => float? — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

50 messages 2001/07/31
[#30767] Re: int/int => float? — keiju@... (石塚圭樹) 2001/07/31

けいじゅ@日本ラショナルソフトウェアです.

[#30768] Re: int/int => float? — matz@... (Yukihiro Matsumoto) 2001/07/31

まつもと ゆきひろです

[#30770] Re: int/int => float? — Take_tk <ggb03124@...> 2001/07/31

たけ(tk)です。

[#30771] Re: int/int => float? — matz@... (Yukihiro Matsumoto) 2001/07/31

まつもと ゆきひろです

[#30785] Re: int/int => float? — Konishi@... (Hiromasa KONISHI) 2001/07/31

 KONISHI Hiromasaです。

[ruby-list:30712] Rouge and readline and 'pure Ruby library/ext library'

From: TAKAHASHI Masayoshi <maki@...>
Date: 2001-07-23 16:33:07 UTC
List: ruby-list #30712
高橋征義です。

Rubyで書かれたLispインタープリタ、rougeがRAAに登録された
ので、早速ダウンロードし、試してみようとしたところ、
rougeは拡張ライブラリのreadlineモジュールを利用している
ようで、readlineのない環境では実行できませんでした。

ならばRuby Readlineを使えばよいかと思い、こちらをインストール
してみたのですが、これまたやはり実行できませんでした。
で、よく見ると拡張ライブラリのreadlineとはそもそもAPIが
違うんですね。Ruby Readline自体が「GNU readline互換」という
ことだったのでちょっと期待したんですが、Ruby bindingレベル
までではなかった、というか(^^;
とりあえず rouge/console.rb の Readline.completion_proc の
ところをまるごとコメントアウトすると、動くようにはなりました。


さてここからが本題なのですが、FastCGI/FCGIの例もある通り、
こういう「pure Rubyなライブラリと拡張ライブラリとで同じ機能
を提供するものが両方ある」っていう状態がだんだん増えてきて
いる・これから増えていくような気がします。あるいは同じ
(Cとかの)ライブラリを使っていても、片や拡張ライブラリ、
片やRuby/DL版とか。
このような場合、それぞれのライブラリの作り方・使い方は、
どのようにするのが望ましいでしょうか。

 ・ライブラリを作る側のスタンスとしては、できるだけAPIは
   揃えておく。またはAPIを揃えるためのwrapperを用意する。
   ・ライブラリ名については?

 ・ライブラリを使う側としては、例えばFooとRFooがあった時、

    begin
      require 'foo'
      foo = Foo
    resuce LoadError
      require 'RFoo'
      foo = RFoo
    end
    foo.new(...)

  とする? うーん、でも、これじゃあローカル変数だから引き回すのが
  大変か。じゃあ、ライブラリを使う側のモジュール名がBarだとしたら、

   module Bar
     begin
       require 'foo'
       Bar::Foo = Foo
     resuce LoadError
       require 'RFoo'
       Bar::Foo = RFoo
     end
   end

   みたいな感じで、 Bar::Foo を作り、それをいじるようにすればいい?


# 何か指針のような形にできればいいんですけどねえ……。

高橋征義 (TAKAHASHI Masayoshi)       Email:maki@inac.co.jp

In This Thread

Prev Next