如何反序列化 Io 中的对象?

发布于 2024-10-09 01:25:56 字数 142 浏览 6 评论 0原文

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

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

I've found the serialized and justSerialized methods on Object and already successfully serialized objects to files, but I cannot find a matching deserialize method.

Is there none or am I just too stupid to find it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

顾忌 2024-10-16 01:25:56

我认为 doString< code>doMessage 应该做你需要的事情(尽管我现在无法确认这一点,因为我没有在这台机器上运行 Io)。

例如:

doString( yourSerializedString )

doMessage( yourSerializedString asMessage )

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

Foo.io

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

serialize.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
)

事实上,您还可以使用 doRelativeFiledoFile

baz := doRelativeFile("serialized.data")

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

/I3az/

I think doString or doMessage should do what you need (though I can't confirm this at moment because I don't have Io running on this machine).

For eg:

doString( yourSerializedString )

or

doMessage( yourSerializedString asMessage )

Update - Can now confirm that doString or doMessage does work. Full example below:

Foo.io

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

serialize.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
)

In fact you can also deserialize the object with doRelativeFile or doFile:

baz := doRelativeFile("serialized.data")

Because serialized data is just Io code.

/I3az/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文