[#28230] bcc32 memory manager — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

15 messages 2006/01/18

[#28243] FUNCTION_CALL_MAY_RETURN_TWICE — Hajimu UMEMOTO <ume@...>

梅本です。

18 messages 2006/01/20

[#28270] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

17 messages 2006/01/23
[#28271] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/01/23

山本です。

[#28272] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — WATANABE Hirofumi <eban@...> 2006/01/23

わたなべです。

[#28273] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/01/23

山本です。

[#28274] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/01/24

山本です。

[#28275] Re: [PATCH] solaris 10 isinf and ruby_setenv fixes — "U.Nakamura" <usa@...> 2006/01/24

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

[#28286] SEGV with zlib — Tanaka Akira <akr@...17n.org>

最近、Data オブジェクトの free 関数が気になっているのですが、

24 messages 2006/01/30
[#28303] Re: SEGV with zlib — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/02/06

山本です。

[#28304] Re: SEGV with zlib — Yukihiro Matsumoto <matz@...> 2006/02/06

まつもと ゆきひろです

[#28305] Re: SEGV with zlib — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/02/06

山本です。

[#28306] Re: SEGV with zlib — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2006/02/06

山本です。

[#28307] Re: SEGV with zlib — Tietew <tietew-ml-ruby-dev@...> 2006/02/06

[#28308] Re: SEGV with zlib — Yukihiro Matsumoto <matz@...> 2006/02/06

まつもとゆきひろです。

[ruby-dev:28219] Re: ANDCALL operator (Re: [ruby-list:41768] Re:nilの扱い)

From: Shinya Kawaji <kawaji@...>
Date: 2006-01-13 13:28:33 UTC
List: ruby-dev #28219
かわじ、です。

私も一案ですが。


> nobuyoshi nakada wrote:
> >> if h[:a] && h[:a][:b]
> >> と書かないといけないのが面倒です。
> > 要するに (tmp = h[:a] and tmp[:b]) を一時変数を使わずに書きたい
> > ということだろうと思いますが、
> 
> ちょっとした案ですが、nil?をブロック付きで呼べるようにするというのは
> どうでしょう?

Array/Hash の場合に限って言えば、私はそれらのクラスに「深い階層用の
検索メソッド」があるほうが便利のように思います。

たとえば、Array#rec_index とすれば、h[:a] && h[:a][:b] は
h.rec_index(:a, :b) と書けるとか。

組み込みじゃなくても、標準添付ライブラリで require 'array' とかすると
使えるとか、そうなってくれると嬉しいのですが。

class Array
  def rec_index(*keys)
    if val = at(keys.shift)
      keys.empty? ? val : val.rec_index(*keys)
    else
      nil
    end
  end
end

class Hash
  def rec_index(*keys)
    if val = fetch(keys.shift, nil)
      keys.empty? ? val : val.rec_index(*keys)
    else
      nil
    end
  end
end



In This Thread