[#21225] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — "U.Nakamura" <usa@...>

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

14 messages 2003/08/22
[#21227] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — nobu.nakada@... 2003/08/22

なかだです。

[#21228] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — matz@... (Yukihiro Matsumoto) 2003/08/22

まつもと ゆきひろです

[#21281] 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

16 messages 2003/08/29
[#21285] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/08/29

まつもと ゆきひろです

[#21288] Re: 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...> 2003/08/29

永井@知能.九工大です.

[#21306] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/09/03

まつもと ゆきひろです

[ruby-dev:21122] Re: Marshal upgrade

From: Koji Arai <JCA02266@...>
Date: 2003-08-04 08:23:28 UTC
List: ruby-dev #21122
新井です。

In message "[ruby-dev:21112] Re: Marshal upgrade"
  on 04 Aug 2003 13:07:20 +0900,
  matz@ruby-lang.org (Yukihiro Matsumoto) wrote:
> まつもと ゆきひろです
> 
> リリースの日にデバッグというのもイヤなものですが。
> 
> In message "[ruby-dev:21106] Re: Marshal upgrade"
>     on 03/08/03, Koji Arai <JCA02266@nifty.ne.jp> writes:
> 
> |require "delegate"
> |
> |class C < SimpleDelegator
> |  def initialize(obj=nil)
> |    super(obj || "A")
> |  end
> |  def marshal_dump
> |    __getobj__
> |  end
> |  def marshal_load(obj)
> |    initialize(obj)
> |  end
> |end
> |
> |Marshal.dump(C.new)
> |
> |などとしても、
> |
> |-:15:in `dump': singleton can't be dumped (TypeError)
> |	from -:15
> |ruby 1.8.0 (2003-08-03) [i586-linux]
> |
> |だめですね。ちょっと悲しい。
> 
> ふむ。marshal_dumpを使った場合にはw_extendedを通らないように
> しましょう。

うまく行っているようです。ありがとうございます。

require 'delegate.rb'

class Delegator
  def marshal_dump
    __getobj__
  end
  def marshal_load(obj)
    initialize(obj)
  end
end

class C < SimpleDelegator
end

obj = C.new("A")
p Marshal.load(Marshal.dump(obj))
=> ruby 1.8.0 (2003-08-04) [i586-linux]
   "A"

--
新井康司 (Koji Arai)

In This Thread