[#35789] [Ruby 1.9 - Bug #407] (Open) String#<< — Shyouhei Urabe <redmine@...>

チケット #407 が報告されました。 (by Shyouhei Urabe)

13 messages 2008/08/06

[#35845] [Bug #437] test_strftime(TestTime) fails on Solaris — Shugo Maeda <redmine@...>

Bug #437: test_strftime(TestTime) fails on Solaris

24 messages 2008/08/13
[#35855] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — "Shugo Maeda" <shugo@...> 2008/08/15

前田です。

[#35856] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — SATOH Fumiyasu <fumiyas@...> 2008/08/15

さとうふみやす @ OSS テクノロジです。

[#35857] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — Yukihiro Matsumoto <matz@...> 2008/08/15

まつもと ゆきひろです

[#35870] Re: [Bug #437] test_strftime(TestTime) fails on Solaris — "Shugo Maeda" <shugo@...> 2008/08/18

前田です。

[#35863] Refactoring of enumerating prime numbers — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

20 messages 2008/08/16
[#35865] Re: Refactoring of enumerating prime numbers — keiju@... (keiju ISHITSUKA) 2008/08/17

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

[#35867] Re: Refactoring of enumerating prime numbers — "Yugui (Yuki Sonoda)" <yugui@...> 2008/08/17

Yuguiです。

[#35875] Re: Refactoring of enumerating prime numbers — keiju@... (keiju ISHITSUKA) 2008/08/19

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

[#35877] Re: Refactoring of enumerating prime numbers — Nobuyoshi Nakada <nobu@...> 2008/08/19

なかだです。

[#35882] Re: Refactoring of enumerating prime numbers — keiju@... (石塚圭樹) 2008/08/20

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

[#35904] [Feature:1.9] pack format 'm' based on RFC 4648 — "Yusuke ENDOH" <mame@...>

遠藤です。

14 messages 2008/08/21
[#36442] [Feature #471] pack format 'm' based on RFC 4648 — Yuki Sonoda <redmine@...> 2008/09/22

チケット #471 が更新されました。 (by Yuki Sonoda)

[#35906] %N for Time#strftime — "Shugo Maeda" <shugo@...>

前田です。

13 messages 2008/08/21

[#35986] 1.9と1.8で、delegateのインスタンスのクラス名の違う — Fujioka <fuj@...>

xibbarこと藤岡です。

17 messages 2008/08/26
[#35987] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — Yukihiro Matsumoto <matz@...> 2008/08/26

まつもと ゆきひろです

[#35991] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — keiju@... (石塚圭樹) 2008/08/26

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

[#35994] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — Fujioka <fuj@...> 2008/08/27

藤岡です。

[#35998] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う — keiju@... (石塚圭樹) 2008/08/27

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

[#36066] Numeric#scalar? — Tadayoshi Funaba <tadf@...>

1.9 の Numeric#scalar? について、適当でないのでは (real? などのほうがい

24 messages 2008/08/31
[#36069] Re: Numeric#scalar? — Shin-ichiro HARA <sinara@...> 2008/08/31

原です。

[#36104] Re: Numeric#scalar? — Tadayoshi Funaba <tadf@...> 2008/09/02

> やはり、scalar? はずれているんじゃないかな。real? の方がいい

[#36122] Re: Numeric#scalar? — Shin-ichiro HARA <sinara@...> 2008/09/03

原です。

[#36133] Re: Numeric#scalar? — Tadayoshi Funaba <tadf@...> 2008/09/03

> ここで、scalar? を疑問視する理由を復習すると、たとえば、「複

[#36173] Re: Numeric#scalar? — Tadayoshi Funaba <tadf@...> 2008/09/05

1.9.1 までに時間がないので scalar? だけ何とかしたいと思っていましたが、

[#36183] Re: Numeric#scalar? — "Shugo Maeda" <shugo@...> 2008/09/06

前田です。

[#36186] Re: Numeric#scalar? — Shin-ichiro HARA <sinara@...> 2008/09/06

原です。

[ruby-dev:36024] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う

From: "U.Nakamura" <usa@...>
Date: 2008-08-27 16:40:44 UTC
List: ruby-dev #36024
こんにちは、なかむら(う)です。

In message "[ruby-dev:36021] Re: 1.9と1.8で、delegateのインスタンスのクラス名の違う"
    on Aug.28,2008 01:02:58, <keiju@ishitsuka.com> wrote:
> >  * self.classで元クラスを返す場合
> >    → kind_ofやancestorsをいじらなくても、扱う側はまるで元ク
> >       ラスそのものであるかのように扱える。
> 
> です. ただ, 別メソッド等で(外側から)区別できるメソッドが必要でしょう.

当然必要だろうなあと思ったのですが、元の石塚さんの主張には明
記されていないように読めたので省略したのでした。

> >  * self.classで自クラスを返す場合
> >    → もし継承されているかのように扱いたいならば、kind_ofや
> >       ancestorsをいじる必要がある。
> >       また、別途、元クラスを取得するメソッドを用意する必要も
> >       あるだろう。
> >
> >と、いう意味でいいでしょうか?
> 
> 上記追加をしていただければ.

というわけで、ここまで理解はOKだと思います。


> >で、RubyのDelegatorはどうあるべきか、ですが、私は後者である方
> >がいいのではないかと思います。
> 
> 私は前者でも後者でも良いんですが, ``→''以降をサポートしてね. ってこと
> です. 

前者も後者もどちらも仕様としてありえる、とは思います。


> >継承のように扱いたいなら継承を使えばいいんだし。
> 
> あー. なんか. この言葉を聞くと, もしかして違うことを主張している? って
> 気もしてきます.  委譲は, 間違った継承を使わないためにあるので. ex) ワ
> ケわからないクラスをArrayとかStringのサブクラスにする等.
> 
> >Rubyの場合はダックタイピングが使えますから、継承関係になくて
> >も同名メソッドは呼び出せるわけで、元クラスとクラス名が違った
> >り擬似的親子関係になくても用が足りる場面は多いはずですし、む
> >しろそういう場面のために委譲が使用されるべきでしょう。
> 
> うーん. でも, やっぱ, 同じ主張? 表現かちょっと微妙なんですが... 擬似的
> 親子関係とは本来の継承(is-a)関係にないのにサブクラスにしている状態を指
> しているんでしょうかね? そんなことしないために委譲を使えと?

同じ主張なのかなんか不安になってきましたが、言いたいことはそ
ういうことです。

正しい継承とはなんぞや、という話は石塚さんにしていただいた方
がいいと思うので私が書いちゃうと釈迦に説法なわけですが ^^;、
汎化<->特化の関係にあるクラス同士を結びつけるのが正しい継承な
のだろうと私は理解しています。

で、継承を使わずに委譲を使うというのは、本来は委譲元と委譲先
は継承関係にないから委譲を使っているはずなわけです。
にもかかわらず、Rubyで委譲を使うと表面的には継承関係にあるか
のように見えてしまうのはよろしくないのではないか、と考えてい
ます。


> ただ, 逆にお聞きしたいですが, Ruby1.9の振る舞いで困ることあります? 

... 困らないかも ^^;;


> Ruby1.9の方が, より完璧に振る舞いが同じになるので 
> 
>   ''(Ruby1.8の)委譲だと動作しないので継承を使おう''
> 
> などと, 本来あるべきでない継承を使う理由にされたりする可能性は少なくな
> ります.

どっちかというと、

  あ、kind_of?で見てたら継承じゃなくて委譲を使われていたから
  動かなかったよ。
  ここはrespond_to?でメソッドを呼べるかチェックすべきだったん
  だなあ。

という方向に行くことを期待したいのですが、ダメですかね。


> PS.
> あと, 振る舞いは別にして, 実装はRuby1.9の方が単純で良いと思います. 

これは同意します。


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>


In This Thread