[#27417] selector namespace — Shugo Maeda <shugo@...>

前田です。

17 messages 2005/10/13

[#27458] Matrix class is broken without mathn — akira yamada / やまだあきら <akira@...>

Debianユーザからrequire "mathn"しないときに

28 messages 2005/10/19
[#27461] Re: Matrix class is broken without mathn — Yukihiro Matsumoto <matz@...> 2005/10/19

まつもと ゆきひろです

[#27596] Re: Matrix class is broken without mathn — Masahiro Sakai (酒井政裕) <sakai@...> 2005/10/31

酒井といいます。

[#27601] Re: Matrix class is broken without mathn — Yukihiro Matsumoto <matz@...> 2005/10/31

まつもと ゆきひろです

[#27605] Re: Matrix class is broken without mathn — keiju@... (石塚圭樹) 2005/10/31

けいじゅ@いしつかです.

[#27691] Re: Matrix class is broken without mathn — Shin-ichiro HARA <sinara@...> 2005/11/12

原です。

[#27700] Re: Matrix class is broken without mathn — keiju@... (石塚圭樹) 2005/11/14

けいじゅ@いしつかです.

[#27484] 1.8.4 feature freeze? — "URABE Shyouhei aka. mput" <root@...>

卜部です。

19 messages 2005/10/23
[#27485] Re: 1.8.4 feature freeze? — Yukihiro Matsumoto <matz@...> 2005/10/23

まつもと ゆきひろです

[#27492] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

20 messages 2005/10/24
[#27493] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — Yukihiro Matsumoto <matz@...> 2005/10/24

まつもと ゆきひろです

[#27494] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — WATANABE Hirofumi <eban@...> 2005/10/24

わたなべです。

[#27495] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/24

山本です。

[#27503] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/25

山本です。

[#27504] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — "U.Nakamura" <usa@...> 2005/10/25

こんにちは、なかむら(う)です。

[#27505] Re: [ ruby-Bugs-2613 ] building ruby 1.8.3 on Solaris — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/10/25

なかだです。

[#27551] 1.8.4 検証を(だれが|どのように)行うか — "URABE Shyouhei aka.mput" <root@...>

さて、 1.8.4-Preview1

41 messages 2005/10/28
[#27561] Re: 1.8.4 検証を(だれが|どのように)行うか — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/30

山本です。

[#27562] Re: 1.8.4 検証を(だれが�匹里茲Δ�)行うか — "URABE Shyouhei aka.mput" <root@...> 2005/10/30

卜部です。

[#27566] Re: 1.8.4 検証を(だれが|どのように)行うか — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/10/30

山本です。

[#27586] Re: 1.8.4 検証を(だれが|どのように)行うか — "U.Nakamura" <usa@...> 2005/10/31

こんにちは、なかむら(う)です。

[#27587] Re: 1.8.4 検証を(だれが|どのように)行うか — Yukihiro Matsumoto <matz@...> 2005/10/31

まつもと ゆきひろです

[ruby-dev:27378] Re: RubyGems と OS platform との関係

From: Tanaka Akira <akr@...17n.org>
Date: 2005-10-01 16:21:26 UTC
List: ruby-dev #27378
In article <1128179638.632910.18519.nullmailer@x31.priv.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> |RubyGems を添付するが自動的には require しないというのは、中
> |途半端だと思うんですよねぇ。
>
> 中途半端ですかねえ。むしろ、RubyGemsが「勝手に」動かないため
> にどこかで明示的に
>
>   require 'rubygems'
>
> した方が良いような気もするんですが。

仮にあるアプリケーションがあるライブラリを必要としたとしましょ
う。つまり、そのアプリケーションの README とかにはそのライブ
ラリをインストールしてくださいと書いてあるわけです。

ここで、そのアプリケーションはそのライブラリが gem としてイ
ンストールされた場合でも、site_ruby に直接インストールされた
場合でもどちらでも動作させたいとしましょう。

ユーザがそのライブラリを gem としてインストールしたいかどう
かはアプリケーションの作者が強制するものではないですから、ど
ちらでも動作させたいというのは自然な話です。

その要求を簡単に実現するには、RubyGems 固有の機能は使わない
が、rubygems を require するだけはするということが考えられま
す。

> ああ、でも「誰かが」使っ
> てたら変わっちゃうんだから明示性には大した意味はないか。

えぇ。ライブラリ A がライブラリ B を必要とした時に B が gem
でインストールされているかどうかにかかわらず... 以下上記と同
様な理屈でライブラリ A が rubygems を require するのはありそ
うな話です。

そういうライブラリがたくさんあったとして、rubygems を
require しないという要求を満たすには... まぁ、$" をいじって
おくのが簡単ですかね。

> rubygemsは確実に添付されるわけですから、そこでrequireを捕捉
> する必要はないのでは。

RubyGems が添付される ruby が普及し、添付されていない ruby
を無視できるようになった時期ではたしかにそうです。でも、添付
されていない ruby もしばらくはあるわけで、それを気にするので
あれば LoadError を捕捉することになるでしょう。

RubyGems の ruby への統合の状態は次の 3種類が考えられます。

(1) RubyGems が添付されていない ruby
(2) RubyGems が添付されているが自動的には require しない ruby
(3) RubyGems は添付されていて自動的に require する ruby

ここで、(1) しか存在しない現在は、RubyGems を使う人は各自で
対処すればいいというわけで、require 'rubygems' を自分のコー
ドに入れる気分にはならないわけです。

また、もし、(3) の状態が十分に普及すれば、require 'rubygems'
は自動的に行われるので、やはり自分のコードに入れる必要はない
わけです。

でも、(2) が混在すると、RubyGems でライブラリをインストール
したユーザにも対応したいよなぁ、という気分になって、
require 'rubygems' を自分のコードに入れ、また、(1) が無視で
きなければ LoadError を捕捉することになるわけです。

なので、もし (2) をすっとばして (1) から (3) へ変化するので
あれば、require 'rubygems' を自分のコードに入れなくていいの
でいいなぁ、と思うわけです。

つまり、もし最終的に (3) の状態に到達するのであれば、(2) は
require 'rubygems' という、現在は必要なく、また最終的にも必
要なくなるコードを書くようにする影響があるわけで、そこが (2)
を中途半端だと評する理由です。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread