るびまに、データの構造をDSLで指定してシリアライズできるPackedStructクラスが書いてある。 これを使えば
def struct(&block) |
おぉ、Cの構造体の定義がほぼそのまま持ってこれる。 pack_templateを何度も書かなくていいし、これはすばらしい!
PackedStruct
内で特異クラスが定義してあって、そこで int32LE
とか string
とかDSLで使える型定義の関数が定義されてるんだけど、これを外から簡単に拡張できるといいな~と思ったんだけど、特異クラスの部分にメソッド追加したり継承したりするやり方がわからず…。