Referenz: Umsetzungsoperatoren

Sie müssen lernen, wie Sie die Sprachumsetzungsoperatoren für Stoffmuster verwenden, um ein Stoffmuster sinnvoll zu entwerfen.

Die Umsetzungssprache für Stoffmuster basiert auf einer Gruppe von Werten, der sogenannten Domäne des Musters. Die Domäne besteht für die Kettfaden- und Schussfadensequenzen aus den Ziffern 1 bis 8, die jeweils den Webgeschirren und Pedalen in der Bindung entsprechen.

Muster sind in ihrer Domäne durchlaufend, sodass die Ziffer, die direkt auf 8 folgt, eigentlich die 1 ist, und die Ziffer, die eine Ziffer niedriger ist als 1, eigentlich die 8. Hierbei handelt es sich um eine modulare Arithmetik. Dies zeigt sich beispielsweise in den Sequenzen 5678123 oder 3218765.

In der folgenden Tabelle werden einige häufig verwendete Begriffe definiert.

 

BLOCK

 

Der linke Operand ist eine Sequenz mit einer beliebigen Länge. Der rechte Operand ist ein Muster aus Ziffern, mit dem die Blocklänge von 0 bis 9 angegeben wird.

Falls einer der beiden Operanden kürzer ist als der andere, wird er (durch Wiederholung) auf genau die gleiche Länge erweitert, die der andere Operand aufweist.

Wenn dann beide Operanden die gleiche Länge haben, wird jedes Element des linken Operanden einzeln durch den Wert der entsprechenden Ziffer im rechten Operanden wiederholt.

Die Länge der Erweiterung ist die Summe der Ziffern im (möglicherweise verlängerten) rechten Operanden.

Einzelne Elemente des rechten Operanden (Länge) können durch {Zahl} für jeweils eine Anzahl von 1 bis 127 ersetzt werden.

 

Blockausdrücke

Blockausdrücke können in einem überlappenden Format verwendet werden. Dies ist insbesondere bei Farbsequenzen nützlich, die beispielsweise für Schottenmuster verwendet werden. Eine der Drummond-Farbsequenzen wird beispielsweise wie folgt umgesetzt:

[G 8 R 2 G 2 R 56 G 16 B 2 G 2 B 2 G 36 R 2 G 2 R 8|].

REPEAT

 

Der linke Operand ist ein Muster mit einer beliebigen Länge. Der rechte Operand ist eine in einer Ganzzahl ausgedrückte Anzahl. Die Erweiterung ergibt sich aus dem <Muster>, das <Anzahl> Male wiederholt wird.

 

EXTEND

 

Der linke Operand ist ein Muster mit einer beliebigen Länge. Der rechte Operand ist eine Ganzzahl, die als Länge interpretiert wird. Der linke Operand wird umgeformt, sodass er die vom rechten Operanden angegebene Länge hat. Wenn der linke Operand kürzer als die gewünschte Länge ist, wird er bis zum Erreichen der richtigen Länge wiederholt. Ist der linke Operand kürzer, so wird er einfach gekürzt.

 

CONCAT

 

Sowohl der linke Operand als auch der rechte Operand stehen jeweils für ein Muster mit einer beliebigen Länge. Das Ergebnis ist eine Verkettung des linken Operanden mit dem rechten Operanden. Beachten Sie, dass im Fall eines ausgeschriebenen Musters (z. B. 1234), die Verkettungsoperation zwischen den einzelnen Mitgliedern implizit ist (d. h. 1234 entspricht 1,2,3,4). Der Verkettungsoperator wird nur im Bedarfsfall verwendet, beispielsweise zur Trennung von parenthetischen Operanden.

 

INTERLEAVE

 

Sowohl der linke Operand als auch der rechte Operand stehen jeweils für ein Muster mit einer beliebigen Länge. Falls einer der beiden Operanden kürzer ist als der andere, wird er (durch Wiederholung) auf genau die gleiche Länge erweitert, die der andere Operand aufweist. Dann werden die Operanden miteinander verschachtelt. Durch die Verschachtelung werden die Elemente des linken Operanden mit den Elementen des rechten Operanden abgewechselt (wie bei gefalteten Händen). Die Erweiterung enthält das erste Element des linken Operanden, das erste Element des rechten Operanden, das zweite Element des linken Operanden, das zweite Element des rechten Operanden, usw.

 

UPTO

 

Das Zeichen "-" kann nur als upto-Operator verwendet werden, wenn das letzte Element des linken Operanden eindeutig niedriger ist als das erste Element des rechten Operanden.

Sowohl der linke Operand als auch der rechte Operand stehen jeweils für ein Muster mit einer beliebigen Länge.

Die Erweiterung ist eine Verkettung des linken Operanden mit der Sequenz zwischen dem letzten Element des linken Operanden und dem ersten Element des rechten Operanden, die mit dem Rest des rechten Operanden verkettet ist.

Upto bedeutet einen Rundumverlauf in der Domäne. So wird beispielsweise "7 upto 2" zu 7812 erweitert.

Nach dem upto-Operator kann unmittelbar (ohne dazwischenliegende Zeichen) eine beliebige Anzahl an Teilstrichen ( ' ) folgen. Ein Teilstrich weist auf ein Durchlaufen der Domäne vor dem Ansteuern des richtigen Operanden hin. Die Anzahl der Teilstriche legt die Anzahl der Durchläufe fest.

 

DOWNTO

 

Operatorverwendung: <Muster> downto <Muster> Kurzform: >, -

Das Zeichen "-" kann nur als downto-Operator verwendet werden, wenn das letzte Element des linken Operanden eindeutig höher ist als das erste Element des rechten Operanden.

Sowohl der linke Operand als auch der rechte Operand stehen jeweils für ein Muster mit einer beliebigen Länge.

Die Erweiterung ist eine Verkettung des linken Operanden mit der absteigenden Sequenz zwischen dem letzten Element des linken Operanden und dem ersten Element des rechten Operanden, die mit dem Rest des rechten Operanden verkettet ist.

Downto bedeutet einen Rundumverlauf in der Domäne. So wird beispielsweise 2 downto 7 zu 2187 erweitert.

Nach dem downto-Operator kann unmittelbar (ohne dazwischenliegende Zeichen) eine beliebige Anzahl an Teilstrichen ( ' ) folgen. Ein Teilstrich weist auf ein Durchlaufen der Domäne vor dem Ansteuern des richtigen Operanden hin. Die Anzahl der Teilstriche legt die Anzahl der Durchläufe fest.

 

TEMPLATE

 

Der rechte und der linke Operand sind jeweils ein Muster mit einer beliebigen Länge.

Template ermöglicht die Strukturierung (Sub-Artikulation) eines übergeordneten Musters (linker Operand) mit einem Strukturmuster (rechter Operand).

Das erste Element dieser Vorlage wird als Stamm verwendet. Alle anderen Elemente in der Vorlagensequenz werden hinsichtlich ihrer Unterschiede zum Stamm betrachtet. Wenn beispielsweise 342 das Vorlagenmuster ist, so fungiert das erste Element (3) als Stamm (r). Das zweite Element (4) ist r+1, und das dritte Element (2) ist r-1. Die Vorlage lautet dann r, r+1, r-1.

Diese Vorlage wird dann auf jedes Element des linken Operanden angewandt, wobei die Elementwerte den Stamm ersetzen.

Beachten Sie, dass die Werte in der Domäne durchgehend verlaufen.

 

PALINDROME

 

Dieser Operator verwendet nur einen Operanden, und zwar den linken. Dieser Operand kann ein Muster mit einer beliebigen Länge sein. Die hieraus resultierende Erweiterung ist eine Rückwärtsverkettung des linken Operanden mit sich selbst.

Hierbei wird jedoch das mittlere Element nicht wiederholt, und das letzte Element des Ergebnisses wird automatisch fallen gelassen. Dies ist sehr wichtig, wenn die palindrome-Sequenz wiederholt wird, und hilft, Unstimmigkeiten in einem Webentwurf zu beseitigen.

Ein Palindrom ist ein Wort, das vorwärts und rückwärts buchstabiert identisch ist (z. B. Anna)

 

PERMUTE

 

Der linke Operand ist ein Muster mit einer beliebigen Länge. Der rechte Operand ist ein Permutationsvektor.

Der linke Operand wird auf eine Länge erweitert, die ein ganzzahliges Vielfaches der Länge des rechten Operanden ist.

Dann wird der linke Operand in Blöcken der Länge des rechten Operanden permutiert. Die Anordnung des Permutationsmusters wird verwendet, um die Elemente in den jeweiligen Blöcken des Musters neu zu organisieren.

Eine Permutation von 312 beispielsweise resultiert in folgender Reihenfolge: das dritte Element zuerst, das erste Element an zweiter Stelle und das zweite Element an dritter Stelle.

 

PBOX

 

Der linke Operand ist ein Muster mit einer beliebigen Länge. Der rechte Operand ist ein Permutationsvektor. Seine Länge wird ggf. (durch Kürzen oder Wiederholen) genau an die Länge des linken Operanden angepasst.

Dann wird die Anordnung des Permutationsmusters verwendet, um die Elemente in den jeweiligen Blöcken des Musters neu zu organisieren.

Pbox behält die Länge des linken Operandenmusters bei.

 

UPDOWN

 

Sowohl der linke Operand als auch der rechte Operand stehen jeweils für ein Muster mit einer beliebigen Länge. Falls einer der beiden Operanden kürzer ist als der andere, wird er (durch Wiederholung) auf genau die gleiche Länge erweitert, die der andere Operand aufweist.

Anschließend generiert UPDOWN im Wechsel aufsteigende und absteigende Durchläufe. Es wird immer eine ungerade Anzahl an Durchläufen generiert. Die Erweiterung enthält den ansteigenden Durchlauf vom ersten Elements des linken Operanden zum ersten Element des rechten Operanden, gefolgt von dem absteigenden Durchlauf von der Stelle bis zum zweiten Element des ersten Operanden usw. Der Vorgang schließt mit dem aufsteigenden Durchlauf vom letzten Element des linken Operanden zum letzten Element des rechten Operanden ab.

Nach dem updown-Operator kann unmittelbar (ohne dazwischenliegende Zeichen) eine beliebige Anzahl an Teilstrichen ( ' ) folgen. Ein Teilstrich bedeutet, dass ein Durchlaufen der Domäne erfolgen soll, bevor die auf- und absteigenden Durchläufe abgeschlossen werden. Die Anzahl der Teilstriche legt die Anzahl der Durchläufe fest.

 

DOWNUP

 

Sowohl der linke Operand als auch der rechte Operand stehen jeweils für ein Muster mit einer beliebigen Länge. Falls einer der beiden Operanden kürzer ist als der andere, wird er (durch Wiederholung) auf genau die gleiche Länge erweitert, die der andere Operand aufweist.

Anschließend generiert DOWNUP im Wechsel absteigende und aufsteigende Durchläufe. Es wird immer eine ungerade Anzahl an Durchläufen generiert. Die Erweiterung enthält den absteigenden Durchlauf vom ersten Elements des linken Operanden zum ersten Element des rechten Operanden, gefolgt von dem aufsteigenden Durchlauf von der Stelle bis zum zweiten Element des ersten Operanden usw. Der Vorgang schließt mit dem absteigenden Durchlauf vom letzten Element des linken Operanden zum letzten Element des rechten Operanden ab.

Nach dem downup-Operator kann unmittelbar (ohne dazwischenliegende Zeichen) eine beliebige Anzahl an Teilstrichen ( ' ) folgen. Ein Teilstrich bedeutet, dass ein Durchlaufen der Domäne erfolgen soll, bevor die auf- und absteigenden Durchläufe abgeschlossen werden. Die Anzahl der Teilstriche legt die Anzahl der Durchläufe fest.

 

ROTATE

 

Der linke Operand ist ein Muster mit einer beliebigen Länge. Der rechte Operand ist eine Ganzzahl (möglicherweise auch negativ), die als Länge interpretiert wird. Der rotate-Operator verschiebt die Gruppe der Elemente, die durch <Zahl> angegeben wird, vom Anfang des Musters an das Ende des Musters. Bei einer negativen Zahl verschiebt der Operator die Gruppe der Elemente, die durch die Zahl angegeben wird, vom Ende des Musters an den Anfang des Musters.

 

REVERSE

 

Dieser Operator verwendet nur einen Operanden, und zwar den linken. Der entsprechende Operand kann ein Muster einer beliebigen Länge sein. Die hieraus resultierende Erweiterung besteht aus dem rückwärts geschriebenen linken Operanden.

 

Reihenfolge nach Priorität

Wenn mehrere Operatoren in einer Umsetzung verwendet werden, werden sie in der Reihenfolge ihrer Priorität ausgewertet. Das heißt, dass einige Operationen vor anderen durchgeführt werden. Im Folgenden sehen Sie die Prioritätsstufen für die Mustersprache:

Wenn zwei Operatoren dieselbe Prioritätsstufe haben, gilt die Reihenfolge von links nach rechts.

 


Feedback
War diese Seite nützlich? Senden Sie uns Ihr Feedback. (Internet-Verbindung erforderlich.)