型引数はこの名前空間が配るIDの型(GlobalId)。素の number とIDの境界はこのクラスの中
だけ——名前から引く経路しか外に開いていないので、YAMLに書かれた数・生成物から読んだ数・URLの
数値が、そのままIDとして通ることがない。既定を持たないのは、既定を置くと型引数を書き忘れた
名前空間が素の number を配り、そこだけ他の名前空間のIDを受け取れるようになるため。
in out(不変)を外すと、種類の付いた名前空間を素の number の名前空間へ広げられる
——メソッドの引数は既定では双変なので、種類を選んで引く と書いた三項の型が
NameRegistry<number> へ落ち、そこから先は素の数が通る。境界がこのクラスの中だけであることを
保っているのはこの2語。
YAML上の識別子(ObjectDef名・プロパティ名・スロット名など)と、実行時に扱うグローバルIDを 相互変換する。「名前の空間」ごとに1つ用意する(WorldCodexが持つ名前空間ごとに別インスタンス)。 ロード完了後はinternを呼ばず、読み取り専用として扱う想定。
型引数はこの名前空間が配るIDの型(GlobalId)。素の
numberとIDの境界はこのクラスの中 だけ——名前から引く経路しか外に開いていないので、YAMLに書かれた数・生成物から読んだ数・URLの 数値が、そのままIDとして通ることがない。既定を持たないのは、既定を置くと型引数を書き忘れた 名前空間が素のnumberを配り、そこだけ他の名前空間のIDを受け取れるようになるため。in out(不変)を外すと、種類の付いた名前空間を素のnumberの名前空間へ広げられる ——メソッドの引数は既定では双変なので、種類を選んで引くと書いた三項の型がNameRegistry<number>へ落ち、そこから先は素の数が通る。境界がこのクラスの中だけであることを 保っているのはこの2語。