我已经在Object对象中找到了serialized和justSerialized方法,已成功将对象序列化为文件,但我找不到匹配的deserialize方法。
是没有这个方法还是我太蠢找不到呢?
我已经在Object对象中找到了serialized和justSerialized方法,已成功将对象序列化为文件,但我找不到匹配的deserialize方法。
是没有这个方法还是我太蠢找不到呢?
doString
或doMessage
应该能满足您的需求(尽管我不能确认,因为我没有在这台机器上运行Io)。doString( yourSerializedString )
或者
doMessage( yourSerializedString asMessage )
更新 - 现在可以确认doString
或doMessage
确实有效。完整示例如下:
Foo := Object clone do (
name ::= nil
)
doRelativeFile("Foo.io")
baz := Foo clone setName("baz")
// serialize "baz" object to file
File with("serialized.data") open write(baz serialized) close
doRelativeFile("Foo.io")
baz := doString(
File with("serialized.data") open readLines join
)
实际上,您还可以使用doRelativeFile
或doFile
对对象进行反序列化:
baz := doRelativeFile("serialized.data")