我現在已經運行第三次到這個問題,你們中的一些佳樂程序員可能會認識最好從截圖:佳樂字面限制
下面是例子代碼來重現問題:
d:=Dictionary new.
(1 to: 257) do: [:each|
d at: each put: each
].
f:=FileStream fileNamed: 'asdf.txt'.
d storeOn: f.
f reset.
d2:=Dictionary readFrom: f.
f close.
我知道爲什麼它發生(編譯器用於反序列化,它通過將整個文件的方法,這樣做)。
在過去,我總是將我的代碼更改爲使用數據庫或使用其他形式的序列化。 但我想知道是否有某種方法來解決吱吱作出這項工作,而不是。
您是否嘗試過「塊格式」,將輸入分成幾個塊?每個_should_有256個文字可用。 – Tobias
@Tobias我可能會接受你的回答,只是關於塊格式的一個問題:如果它是一個大的(嵌套的)被序列化的對象(就像上面的Dict),或者只有有多個對象可以一個接一個地讀? –
我認爲你應該使用單獨的obects。在文件輸入過程中,每個塊都由編譯器單獨評估;你可能甚至想(暫時)創建一個Global來保存你的數據。 – Tobias