3

我在 Object 上找到了serializedjustSerialized方法,并且已经成功地将对象序列化为文件,但我找不到匹配的反序列化方法。

是没有还是我太笨了找不到?

4

1 回答 1

5

我认为doStringdoMessage应该做您需要的事情(尽管我目前无法确认这一点,因为我没有在这台机器上运行 Io)。

例如:

doString( yourSerializedString )

或者

doMessage( yourSerializedString asMessage )


更新- 现在可以确认doStringdoMessage确实有效。完整示例如下:

Foo.io

Foo := Object clone do (
    name ::= nil
)

序列化.io

doRelativeFile("Foo.io")

baz := Foo clone setName("baz")

// serialize "baz" object to file
File with("serialized.data") open write(baz serialized) close

restore_object.io

doRelativeFile("Foo.io")

baz := doString(
    File with("serialized.data") open readLines join
)


事实上,您也可以使用or反序列化对象:doRelativeFiledoFile

baz := doRelativeFile("serialized.data")

因为序列化数据只是 Io 代码。

/I3az/

于 2010-12-28T17:17:24.307 回答