PickleBuffer にバイトを書き込み、 ShowPickledでそれらを読み戻して、Pickled Scala シグネチャで遊んでいます。
Int
を使用して、期待どおりに書き込んだり読み戻したりできます
PB.myBuf.writeByte(2)
'2' (この場合はエントリ番号への参照) を与える
1(MyRecord) 2 40[case] 5
.
しかし、次のような条件内で同じコードを使用した場合:
if (ExtModClassRef.position==0) PB.myBuf.writeByte(2)
、
また
ExtModClassRef.position match {case 0 => PB.myBuf.writeByte(2)}
、
次に、読み返したバイトが文字化けします。
0,4: CLASSsym 4: 1(MyRecordmodels\00\00
...
最初のいくつかのエントリがどうあるべきかの代わりに:
0,4: CLASSsym 4: 1(MyRecord) 2 40[case] 5
1,10: TYPEname 8: MyRecord
2,20: EXTMODCLASSref 1: 3(models)
3,23: TERMname 6: models
if
andmatch
キーワードが書き込まれるバイトにどのように影響するかについて、私は困惑しています。
そして、おそらく誰かが修正または回避策を提案できますか?
ありがとう、ジュリアン