[#30426] CGI でグラフを描くときにお勧めのライブラリは? — 堀川 久 <vzw00011@...>
こんにちは。
宮内といいます。
高橋征義です。
[#30453] syntax check without execution? — Tanaka Akira <akr@...17n.org>
最近、eRuby のまねごとをしていて、そのなかで Ruby のコードを生成してい
まつもと ゆきひろです
In article <994217165.945078.13509.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
Yukihiro Matsumotoさんの<994219298.882129.13585.nullmailer@ev.netlab.jp>から
[#30479] Object#dup — "Shin'ya Adzumi" <adzumi@...>
あづみです。
まつもと ゆきひろです
あづみです。
わたなべです。
[#30507] Ruby/Tk TkPhotoImage#data — Noritsugu Nakamura <nnakamur@...>
[#30512] open errno EALREADY triggerd — "Inoue" <inoue@...>
井上です。
井上です。
[#30514] Ruby module frame work? — Takahiro Kambe <taca@...>
こんにちは。
まつもと ゆきひろです
In message <994643239.367096.2557.nullmailer@ev.netlab.jp>
[#30522] Walrus (WEB Application Server) — NAKAJIMA Taku <tnaka@...>
中島@ブレーンです。
[#30523] RTtool & RDindex new package — rubikitch <rubikitch@...>
るびきちです。
こんにちは,とみながです.
From: Kazuto Tominaga <tominaga@snake.m.ns.it.teu.ac.jp>
[#30529] InterBase を使用したい — "YOUJI KUROKAWA" <CQE10242@...>
環境
黒川です たいへんおせわになっております。
[#30530] Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...>
縄手@松江と言います。
From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>
縄手@松江です。
From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>
At Tue, 10 Jul 2001 00:26:41 +0900,
From: "Akinori MUSHA" <knu@iDaemons.org>
[#30551] RTtool 0.1.4 (was Re: RTtool & RDindex new package) — Takahiro Kambe <taca@...>
こんにちは。
From: Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
In message <20010710035601.TZZG14050.mail.rdc1.kt.home.ne.jp@witch>
[#30552] 名前の異なるコンストラクタを複数持つには? — keiichi matsunaga <ma2@...>
はじめまして。松永と言うものです。
[#30586] case 文で文字列を判断したい — Takuo Tabata <taku@...>
[#30601] ruby-1.6.4 build on gcc-3.0/glibc-2.2.3/kernel-2.4.7pre5 — KUSUNOKI Masanori <masanori@...>
楠です
[#30614] ライブラリから別のライブラリを呼び出すときのパスについて — keiichi matsunaga <ma2@...>
松永です。
[#30622] RDtool requires amstd? — Kazuhiro NISHIYAMA <zn@...>
RDtool 0.6.10のインストールが
[#30649] \ mark in path of a script — "Y.ITO" <gfh05223@...>
はじめまして。Ruby/eRuby を最近使い始めたばかりです。
[#30655] XMLParser & DTD — skoba@... (KOBAYASHI Satoshi)
はじめまして、小林@豊橋技術科学大学です。
[#30680] overwride method — "Inoue" <inoue@...>
井上です。
[#30692] Ruby 開発環境のご紹介 — 斉藤和樹 <QZS01353@...>
はじめまして、斉藤と申します。
[#30705] 下位バイト 0x5c の文字が化けてしまいます — "ANAKI Kyosuke" <anaki@...>
初めまして。穴木と申します。まったくのRuby初心者です。どうぞよろしくお願い
[#30725] mswin32 版の改行コード — "Y.ITO" <gfh05223@...>
先日はeRuby mswin32最新版の件でお世話になりました。
[#30731] irb で Thread.critical = true — Kazuhiro NISHIYAMA <zn@...>
irbでThread.critical = trueにすると別スレッドが動き続けるのですが。
[#30734] UML クラス図と Ruby の記述についての対応 — Ken-ichi HASHIMOTO <ken@...>
橋本@福井県在住です。
[#30738] cgi について — 岩本次郎 <jiro3@...>
岩本次郎です。
[#30755] ruby-orbit support server side — Dai <MAP2303@...>
[#30764] int/int => float? — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
KONISHI Hiromasaです。
いけがみです。
けいじゅ@日本ラショナルソフトウェアです.
あべです。
KONISHI Hiromasaです。
あづみです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
たけ(tk)です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[ruby-list:30713] Re: Rouge and readline and 'pure Ruby library/ext library'
あおきです。
In mail "[ruby-list:30712] Rouge and readline and 'pure Ruby library/ext library'"
TAKAHASHI Masayoshi <maki@open-news.com> wrote:
> 高橋征義です。
> さてここからが本題なのですが、FastCGI/FCGIの例もある通り、
> こういう「pure Rubyなライブラリと拡張ライブラリとで同じ機能
> を提供するものが両方ある」っていう状態がだんだん増えてきて
> いる・これから増えていくような気がします。あるいは同じ
> (Cとかの)ライブラリを使っていても、片や拡張ライブラリ、
> 片やRuby/DL版とか。
> このような場合、それぞれのライブラリの作り方・使い方は、
> どのようにするのが望ましいでしょうか。
> ・ライブラリを使う側としては、例えばFooとRFooがあった時、
ちょっと状況は違いますが、tmail や strscan では pure Ruby 版と
拡張モジュール版を二重化 (両方で同じ動作のメソッドを提供) して
います。そこでは以下のようなコードを使ってます。
require 'rmails.rb'
begin
require 'cmails.so' # class MailScanner_C を定義
MailScanner = MailScanner_C
rescue LoadError
MailScanner = MailScanner_R
end
このようにしておくと常に両方にアクセス可能になるので、バージョンの
違いを検出したりテストするのが楽になります。ただしこれは一人が両方を
メンテしていないとできないので、より一般的には
class Foo_uniq
....
end
unless defined? Foo then
Foo = Foo_uniq
end
であるとか
(some.rb) ライブラリ作者 A
class Foo
end
(any.rb) ライブラリ作者 B
class RFoo
end
(main.rb) 使う側
require 'some'
require 'any'
module Bar
Foo_some = ::Foo
Foo_any = RFoo
Foo = Foo_any # デフォルトの候補を選択
end
とするのがよいのではないでしょうか。重点は以下の二点です。
1. いざというときに選択肢各個に明示的に
アクセスできるほうがなにかと便利
2. まず明確に区別し、そのうえで自分が使いやすい
ほうをデフォルトとして選択する
作りかたのほうは、基本的にそれぞれの作者が
* 似た名前なら似た動作
を目指すしかないと思います。無作為の名前衝突を避けるためには、
つい数日前のごとけんさんのメールにもあったように、RAA を名前空間と
して利用するなどの方法をとれば少しは安心感が得られるでしょう。
RAA の登録の主キーを「名前」じゃなくて「require 名」にするだけ
でも状況はよくなると思います。
-------------------------------------------------------------------
青木峰郎