[#23717] error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。どうしても原因がわからないので、報告だけ・・・

18 messages 2004/06/19
[#23718] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23719] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23720] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23724] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23762] Ruby 1.8.2 to be released. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

40 messages 2004/06/23

[#23784] URI() — Tanaka Akira <akr@...17n.org>

前から思っていたのですが、URI.parse("http://...") を URI("http://...")

19 messages 2004/06/25

[ruby-dev:23707] Re: define_method and $SAFE

From: nobu.nakada@...
Date: 2004-06-17 04:55:52 UTC
List: ruby-dev #23707
なかだです。

At Thu, 17 Jun 2004 13:42:04 +0900,
Nobuyoshi-Nakada wrote in [ruby-dev:23706]:
> > 基本的にはこれでいいんじゃないでしょうか。私自身はPROC_TMASK 
> > のところに「$SAFEを保存しないフラグ」を用意する方法を考えて
> > いましたが。
> 
> こういう感じ? 最初元のProcにも影響しちゃうんじゃないかと思って
> [ruby-dev:23697]のようにしたんですが、cloneしてましたね。こっち
> のがシンプルでよさそう。

うっかりしてましたが、この二つでは微妙に動作が違います。

  $ cat proc_safe.rb
  class X
    P = proc {$SAFE}
    define_method(:safe, P)
  end
  $SAFE = 1

  x = X.new
  m = x.method(:safe)
  puts "Proc#call      = #{X::P.call}"
  puts "define_method  = #{x.safe}"
  puts "Method#call    = #{m.call}"
  puts "Method#to_proc = #{m.to_proc.call}"

  $ ./miniruby-23697 proc_safe.rb
  Proc#call      = 0
  define_method  = 1
  Method#call    = 1
  Method#to_proc = 0

  $ ./miniruby-23706 proc_safe.rb
  Proc#call      = 0
  define_method  = 1
  Method#call    = 1
  Method#to_proc = 1

一度メソッドにした以上、再びProcに戻してもメソッドの動作に従う
べきでしょうか。

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

In This Thread