[#2577] how to check if ruby method is defined — Kikutani Makoto <kikutani@...>

きくたにです。

13 messages 1998/05/07

[#2608] experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

30 messages 1998/05/13
[#2610] Re: experimental release ruby 1.1b9_19 — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/05/13

藤本です、こんにちは。

[#2614] Re: experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#2622] Re: experimental release ruby 1.1b9_19 — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/05/14

藤本です、こんにちは。

[#2623] Re: experimental release ruby 1.1b9_19 — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#2664] [BUG] b = proc{binding}.call — keiju@... (Keiju ISHITSUKA)

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

13 messages 1998/05/18
[#2665] Re: [BUG] b = proc{binding}.call — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#2721] convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...>

ruby-list の regexp difference with perl のスレッドを読んでいて思いつ

22 messages 1998/05/20
[#2727] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/22

まつもと ゆきひろです

[#2728] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/22

t/regexp.tではなくてt/op/regexp.tでした。

[#2740] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/25

まつもと ゆきひろです

[#2747] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/25

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#2769] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/27

From: Inaba Hiroto <inaba@st.rim.or.jp>

[#2773] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/28

まつもと ゆきひろです

[#2778] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/28

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#2785] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/05/29

まつもと ゆきひろです

[#2790] Re: convert Perl's t/regexp.t to ruby — Inaba Hiroto <inaba@...> 1998/05/30

From: matz@netlab.co.jp (Yukihiro Matsumoto)

[#2795] Re: convert Perl's t/regexp.t to ruby — matz@... (Yukihiro Matsumoto) 1998/06/01

まつもと ゆきひろです

[ruby-dev:2751] Re: hash with default value

From: matz@... (Yukihiro Matsumoto)
Date: 1998-05-26 02:23:40 UTC
List: ruby-dev #2751
まつもと ゆきひろです

In message "[ruby-dev:2749] Re: hash with default value"
    on 98/05/26, toyofuku@juice.or.jp <toyofuku@juice.or.jp> writes:

|  豊福@パパイヤです。

|  なかなか見つからないと思ってたら ruby-list
|の方でした。(ruby-list:7372 - 7375)

どうもすいませんでした.

|> その時に,必要であればdelegate.rbを使って作れば良いじゃない
|> かというような話があったような,なかったような….
|
|  delegate の話はまだ出てないようです。(これ
|からでも聞きたいですが)

こんな感じです.いきなりコードで恐縮ですが.

  require 'delegate'
  class DefaultHash<SimpleDelegator
    def initialize(default, hash={})
      @default=default
      @hash = hash
      super(hash)
    end
    def [](key)
      unless @hash.key? key
        @default
      else
        @hash[key]
      end
    end
  end

  dhash = DefaultHash.new(25)
  dhash["foo"]  # => 25

ここでdhashはHashの全てのメソッドを理解するので,ほとんどあ
らゆる場所でHashの代わりをします.かつ,豊福さんの望み通りデ
フォルト値を持ちます.

|> 実装の都合になっちゃいますが,RHash構造体にはデフォ
|> ルト値をいれるすき間が残ってないんですよ.
|
|  上に書いたような st_table の方でもダメですか。

うーん,st_tableに追加,ですか….

気になるのは,st_tableはrubyの実装の中でhash tableが必要なあ
らゆる場所に使われているので,そーゆーrubyのHashのためだけに
機能を追加することに抵抗があることと,Hashのデフォルト値とい
う考えがあんまり気に入ってないことの両方です.

後者は特にHashにこれ以上「状態」を持たせることへの抵抗とでも
言ったら良いでしょうか.

たとえば,稲葉さんが[ruby-dev:2746]で述べておられるような,
要素が見つからなければ指定した値を返すメソッド(fetchとか
getitemとか)についてはどう思われますか?

こちらの考えにはそれほど抵抗が無いんですよねえ.

|だったら if分岐がちょっと増えるだけのような
|気がするのですが。

st_tableを使えば,実装上の問題はもうそれほど残ってないですね.

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next