From: Tanaka Akira Date: 2004-01-17T14:19:30+09:00 Subject: [ruby-dev:22604] marshaling a nameerror. 次のように、とある例外オブジェクトが marshal 出来ないことに気がつきました。 % ruby -ve ' begin eval("x") rescue Exception p Marshal.dump($!) end' ruby 1.9.0 (2004-01-16) [i686-linux] -e:5:in `dump': singleton can't be dumped (TypeError) from -e:5 なぜか、p $! を入れただけで marshal 出来るようになるのが不思議なところ です。 % ruby -e ' begin eval("x") rescue Exception p $! p Marshal.dump($!) end' # "\004\010o:\016NameError\010:\abt[\006\"\t-e:3:\tmesg\"E(eval):1: undefined local variable or method `x' for main:Object:\tname:\006x" -- [田中 哲][たなか あきら][Tanaka Akira]