[#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:27437] Re: selector namespace

From: nobuyoshi nakada <nobuyoshi.nakada@...>
Date: 2005-10-18 08:58:28 UTC
List: ruby-dev #27437
なかだです。

At Tue, 18 Oct 2005 17:25:52 +0900,
Shin-ichiro HARA wrote in [ruby-dev:27436]:
> >> >> a) 見える。zot(1)は bar$zot -> global$zot の順、zot(2)は
> >> >>    baz$zot -> bar$zot -> global$zot の順で探す
> >> >>
> >> >> b) 見えない。zot(1)は global$zot だけ、zot(2)は baz$zot ->
> >> >>    global$zot の順で探す
> >> >>
> >> >> c) スコープでusingが現れると外側のusingは見えなくなる。zot(1)は
> >> >>    bar$zot -> global$zot の順、zot(2)は baz$zot -> global$zot
> >> >>    の順で探す
> >> 
> >> >aが便利そうですね。
> >> 
> >> using が module ... end ぶち抜きで効果を持つのが、若干違和感があるなあ。
> >
> >b案のほうがよさそうということですか。
> 
> そうです。既存のスコープの概念とあまりにかけ離れるのはどうかと。

既存のものでも、定数はclass/moduleの外まで見えるわけですが、
module内ならメソッドの中まで見えるものというと、クラス変数かな。

> まったく垂直というのもありかもしれませんが。

ここで「垂直」というのはどういう意味でしょうか?

> >>   def bar
> >>     foo$baz
> >>   end
> >> 
> >> 相当にするということも考えられるけど、どうなんでしょ。
> >
> >全部自分でnamespaceを指定することになりそうな気がしますが、それ
> >ではかえって不便のような。
> 
> 確かにこれは不便ですよね。ただ、前者と後者を組み合わせたもの、
> つまり、
> 
>   using foo
>   def bar
>     baz
>   end
> 
> を
> 
>   def foo$bar
>     foo$baz
>   end
> 
> 相当にするのはあり得るかもしれない。

bazが全部foo$bazになってしまうと、foo以外のnamespaceのメソッド
を呼び出すにはすべてhoge$bazとかglobal$bazとか書かなければなら
なくなるんじゃないでしょうか。そう考えると、二つを組み合わせて
も改善はされないんじゃないかと思うんですが。

> ところで、そもそも selector namespace の必要性ってのは、どういう要請
> によるものでしょうか。
> 
> ひとつの例としては jcode.rb は使い難いという話がありますね。
> require しただけでスクリプト中の全ての String#tr の定義が変わって
> しまうのがイヤだと。
> 
> 他には、私としては、Integer#/ の定義を一時的に変えたいというのもあ
> るんですが、つまり、
> 
>   using mathn
>   rational_array = [1/2, 1/3, 1/4]
> 
> みたいな感じで有理数の配列が出来たらうれしいなと思ったりするんだけ
> ど、これは守備範囲外ででしょうか。

それは範囲内じゃないですか。

> もっと局所的に、String#each を 
> 一瞬 String#each_byte にしたいとか。そういのは別の話なのかな。 

使い方によるのでは。[ruby-dev:27417]によると、

> usingが効力を及ぼす範囲が、静的なスコープであるとします。

ということなので、例えば、String#collectが呼び出すメソッドを
each_byteに変えたい、ということなどは無理だと思います。

--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦


In This Thread