heap-new ( ... class – object )
を使用するとヒープ上にクラスのオブジェクトを作成して初期化することができ、 dict-new ( ... class – object
) を使用するとディクショナリー内(allot による割り当て)にクラスのオブジェクトを作成して初期化することができます。
どちらのワードも当該クラス class の construct を呼び出し、 当該クラス class の
construct のスタック効果(上記「...」の部分)で示されたスタック項目を消費します(訳注: 例えば 6.24.3.2 Basic
‘objects.fs’ Usage の例のように、 circle の construct のスタック効果 n-radius
が必要で、 50 circle heap-new constant my-circle としなければならない)。
オブジェクトに自分でメモリーを割り当てたい場合は、 class-inst-size 2@ ( class – align size )
を使用してクラスのアライメント(alignment)とサイズを取得できます。 オブジェクト用のメモリーを確保したら、
init-object ( ... class object – )でオブジェクトを初期化できます(訳注: class
のためのデータ構造を object からに構築し、 その後そのオブジェクトに対して construct を実行します。 注意:
当該 class の construct 用のスタック項目の指定も必要な事に注意)。