まつもと ゆきひろです

In message "[ruby-dev:6863] Re: Range(...) as Array index"
    on 99/05/17, Akira Endo <akendo / t3.rim.or.jp> writes:

|> すみません.お手数かけます.ドキュメントはRubyの一番弱いとこ
|> ろですから,チェックには本当に感謝します.
|
|エキスパートになってしまうと、分からなくなってしまう(早くそう
|なりたいですが)ので、早速とりかかります。

本当に感謝します(好きな数だけ繰り返してお読みください).

|> |TypeError: old marshal file format (can't read)と言われました。
|> |Array以外のオブジェクトでは試していません。
|> 
|> こちらでは再現しませんでした.ruby -vの結果と,できれば再現
|> するスクリプト(dump側,load側ともに)を教えて頂けませんか?
|ruby 1.3.3 (1999-05-13) [i586-linux]
|
|f = open "test", "w"
|Marshal.dump [], f
|f.close
|a = Marshal.load "test"

あ,良かった,バグじゃない.これは最後の行を

 f = open("test", "r")
 a = Marshal.load(f)
 f.close

にしてください.loadはファイルか文字列を受け付けますが,文字
列の場合はファイル名ではなく,marshalされたデータを要求しま
す."test"という文字列はmarshalデータではないので,エラーに
なるわけです.
                                まつもと ゆきひろ /:|}