子の一覧は、単一の子ではなく複数の子の一覧を生成する子ルールです。子の一覧の各メンバは、親の別々の子になります。子の一覧ルールの構文は子ルールと同じで、任意の数量の指定が追加されます。
数量式が存在する場合は、ルールが子の一覧であることを示します。数量式は、負ではない整数として評価される必要があります。そうしないと、エラーが生成されます。式がゼロとして評価された場合は、子は作成されません。
数量式は、子の一覧の内容を何も参照しない場合があります。
子の一覧では、子のインデックスに基づいて各子をカスタマイズできます。インデックスは各パーツのルールで、子の一覧に含まれていない子のインデックスは常に 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)を示します。 |