Object serialization: Difference between revisions

implement in nim-lang
(Added Wren)
(implement in nim-lang)
Line 1,450:
00000050: 7269 616c 697a 6174 696f 6e02 0000 0000 rialization.....
00000060: 0000 0061 0000 0000 0000 0000 7a ...a........z</pre>
 
=={{header|Nim}}==
<lang Nim>import marshal, streams
type
Base = object of RootObj
name: string
Descendant = object of Base
proc newBase(): Base = Base(name: "base")
proc newDescendant(): Descendant = Descendant(name: "descend")
proc print(obj: Base) =
echo(obj.name)
 
var
base = newBase()
descendant = newDescendant()
print(base)
print(descendant)
 
var strm = newFileStream("objects.dat", fmWrite)
store(strm, (base, descendant))
strm.close()
 
var t: (Base, Descendant)
load(newFileStream("objects.dat", fmRead), t)
print(t[0])
print(t[1])
</lang>
{{out}}
<pre>
base
descend
base
descend
</pre>
 
=={{header|Objeck}}==