Anonymous user
Object serialization: Difference between revisions
Add Neko
m (ol notes) |
(Add Neko) |
||
Line 1,390:
Entity
</pre>
=={{header|Neko}}==
<lang actionscript>/* Object serialization, in Neko */
var file_open = $loader.loadprim("std@file_open", 2)
var file_write = $loader.loadprim("std@file_write", 4)
var file_read = $loader.loadprim("std@file_read", 4)
var file_close = $loader.loadprim("std@file_close", 1)
var serialize = $loader.loadprim("std@serialize", 1)
var unserialize = $loader.loadprim("std@unserialize", 2)
/* Inheritance by prototype */
proto = $new(null)
proto.print = function () { $print(this, "\n") }
obj = $new(null)
obj.msg = "Hello"
obj.dest = $array("Town", "Country", "World")
$objsetproto(obj, proto)
$print("Original:\n")
obj.print()
/* Serialize the object */
var thing = serialize(obj)
var len = $ssize(thing)
/* To disk */
var f = file_open("object-serialization.bin", "w")
file_write(f, thing, 0, len)
file_close(f)
/* Load the binary data into a new string space */
f = file_open("object-serialization.bin", "r")
var buff = $smake(len)
file_read(f, buff, 0, len)
file_close(f)
/* Unserialize the object into a new variable */
var other = unserialize(buff, $loader)
$print("deserialized:\n")
other.print()</lang>
{{out}}
<pre>prompt$ nekoc object-serialization.neko
prompt$ neko object-serialization
Original:
{ dest => [Town,Country,World], msg => Hello }
deserialized:
{ dest => [Town,Country,World], msg => Hello }</pre>
=={{header|Objective-C}}==
|