假设我有这样的类型:
type
Foo = object of RootObj
f1: string
Bar = object of Foo
b1: string
我编组一个这样的实例:
var bar: Bar
bar.f1 = "FOO"
bar.b1 = "BAR"
var s = newStringStream()
s.store(bar)
我可以直接读取它的数据:
echo s.data # outputs {"b1": "BAR", "f1": "FOO"}
但我无法使用readLine()
或任何其他阅读过程来阅读它:
var line: TaintedString = ""
while s.readLine(line):
echo line
根本没有输出。
如果我不使用marshal.store
.
var s = newStringStream("foo\nbar")
var line: TaintedString = ""
while s.readLine(line):
echo line # outputs `foo` then `bar`
因此,我似乎遗漏了一些可能非常基本和明显的东西。知道那可能是什么吗?