子の一覧

子の一覧は、単一の子ではなく複数の子の一覧を生成する子ルールです。子の一覧の各メンバは、親の別々の子になります。子の一覧ルールの構文は子ルールと同じで、任意の数量の指定が追加されます。

数量式

数量式が存在する場合は、ルールが子の一覧であることを示します。数量式は、負ではない整数として評価される必要があります。そうしないと、エラーが生成されます。式がゼロとして評価された場合は、子は作成されません。

数量式は、子の一覧の内容を何も参照しない場合があります。

子の一覧のインデックス ルール

子の一覧では、子のインデックスに基づいて各子をカスタマイズできます。インデックスは各パーツのルールで、子の一覧に含まれていない子のインデックスは常に 0 ですが、子の一覧の子のインデックスは 1 から開始されます。インデックス ルールの値は、一覧内の子ごとに異なります。

ルールによって変更されていない限り、子の一覧の子の既定の名前は、子の一覧ルールの名前に、アンダースコア、子のインデックスが順に続きます。たとえば、Leg_2 などです。

子のインデックス ルールは次のように参照します。

Child.index

インデックス自体を参照すると、親のインデックスが返され、子の一覧のすべての子の場合と同じになります。

次の例に、2 つのパーツを使用して子の一覧を作成するルールを示します。

この例では、パラメータ cut1 と cut2 はそれぞれの子によって異なります。

以下の表に示すように、各パーツには、Child.index に加えて、子の一覧のメンバを参照するいくつかのルールがあります。これらのルールは、子が子の一覧のメンバである場合にのみ適用されます。

リファレンス 意味
Child.first? 最初の子かどうか(child.index = 1 と同等か)を示します。
Child.first 最初のパーツを示します。セット内のすべてのパーツにこれを質問することができ、それらはすべて同じ回答を返します。
Child.last? 最後の子かどうかを示します。
Child.last 最後のパーツを示します。
Child.next_ 子の一覧内の次のパーツ(最後のパーツの場合は NoValue)を示します。
Child.previous 子の一覧内の 1 つ前のパーツ(最初のパーツの場合は NoValue)を示します。
Child.cyclicNext 次のパーツ(最後の場合は最初のパーツ)を示します。
Child.cyclicPrevious 1 つ前のパーツ(最初の場合は最後のパーツ)を示します。
Child.isChildListMember? このパーツは、子の一覧のメンバかどうかを示します。
Child.childListLength 子の一覧の要素数(子の一覧のメンバではない場合は NoValue)を示します。
注: これらのルールにアクセスするには child.<ルール名> を使用することが一般的ですが、必ずしもそうしなければならないわけではありません。