Printable Version of this PageHome PageRecent ChangesSearchSign In

27 October 2007

[SIXX] SIXX 0.3 preview


そろそろ出ますよ。待ちきれない人はSqueakSourceJからダウンロードしてください。

主な特徴として

  • #sixxNonReferencableInstVarNames フックの追加
    • 参照形式を使わずに常にそのまま書かれるインスタンス変数を定義できます。これはコンパクトなリテラルで表現できるオブジェクトなどをいちいち参照で書いているとSIXXのテキストファイルとしてのリーダビリティが落ちるという意見を反映したものです。
  • "Formatter"のサポート
    • Formatterとは、サブクラスを定義せずに特定クラスのSIXXフォーマットを動的にカスタマイズする仕組みです。例えばArrayやBagのインスタンスなどで、場合によっては非常にsparseだったり冗長なオブジェクトが要素に含まれているときに、専用のサブクラスを定義しなくとも、インスタンスの状況に応じたフォーマットでオブジェクトを書き出すことができるというものです。
  • ShapeChangerのリファクタリング
    • もともとクラス定義の変更に柔軟に対応するための仕組みですが、いままではSixxShapeChangeReadStreamという専用のReadStreamを使う必要がありました。今回からは、もっと簡単に#readSixxFrom:の前にコンテキストにShapeChangerを登録すれば良いだけとなりました。(従来のやり方もサポートしています)

shapeChangers := {#SixxMockFixedNewFailedClass->SixxMockFixedAlternativeClass} as: Dictionary.
SixxContext applyShapeChangers: shapeChangers while: [
  object := Object readSixxFrom: oldSixx.
].


などとなります。Formatterもほぼ同様の使い勝手です。

11月はじめに正式リリースの予定です。

Last modified 27 October 2007 at 5:21 pm by ume