參考資料:運算式運算子

您需要瞭解如何使用織布花紋語言運算式運算子,有效製作織布花紋的初稿。

織布花紋運算式語言是圍繞著稱為花紋範圍的值群組所設計。針對經紗或緯紗順序,該範圍是由 1 到 8 個數字所組成,這會對應至編織中的綜絖和踏板。

花紋會以經線方式圍繞其範圍,因此比 8 多一的數字實際上是 1,而比數字 1 少一的數字實際上是 8。這稱為模組式算術。例如,有些可在順序 5678123 或 3218765 中找到。

下表定義一些常用詞彙。

 

BLOCK

 

左邊運算元是任意長度的順序。右邊運算元是用以指定區塊長度之數字字元的花紋 (從 0 到 9)。

如果其中一個運算元長度比另一個運算元短,即可加以擴充 (透過重複方式),以便與另一個運算元的長度完全相同。

接著,利用長度相等的運算元,左邊運算元的每個元素都會利用右邊運算元中對應位數的值個別進行重複。

展開的長度是 (可能延長) 右邊運算元中數字的總和。

右邊運算元的個別元素 (長度) 可由計數的 {number} 來取代 (從 1 到 127)。

 

區塊運算式

區塊運算式可能是利用交錯格式來使用。這對於像是蘇格蘭格子呢毯中所使用的色彩順序特別有用。例如,以下為某個 Drummond 色彩順序的表示方式:

[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

 

左邊運算元是任意長度的花紋。右邊運算元是整數計數。展開是 <花紋> 重複的 <計數> 次數。

 

EXTEND

 

左邊運算元是任意長度的花紋。右邊運算元是解譯為長度的整數。左邊運算元會重整為右邊運算元所指定的長度。若左邊運算元比所需長度還短,則會進行重複直到變成正確長度為止。如果左邊運算元比較短,則只會進行修剪。

 

CONCAT

 

左邊和右邊運算元都是任意長度的花紋。結果便是左邊運算元會與右邊運算元相連接。請注意,闡述花紋時 (例如 1234),並不會在其中每個成員之間清楚表示連接作業 (例如,1234 相當於 1,2,3,4)。concat 運算子只有在需要時才會使用,例如,分隔括號運算元。

 

INTERLEAVE

 

左邊和右邊運算元都是任意長度的花紋。如果其中一個運算元長度比另一個運算元短,即可加以擴充 (透過重複方式),以便與另一個運算元的長度完全相同。接著運算元會進行交錯。交錯會使用右邊運算元的元素來替代左邊運算元的元素 (像是用帶子將手指繫在一起)。展開包含左邊第一個元素、右邊第一個元素、左邊第二個元素、右邊第二個元素,依此類推。

 

UPTO

 

唯有當左邊運算元的最後一個元素完全小於右邊運算元的第一個元素時,才會使用「-」作為 upto 運算子。

左邊和右邊運算元都是任意長度的花紋。

展開是利用左邊運算元的最後一個元素與右邊運算元的第一個元素間之順序來連接的左邊運算元,其會與右邊運算元的其餘元素相連接。

Upto 會以經紗方式來圍繞該範圍。例如,7 upto 2 可展開為 7812。

Upto 運算子後面可能會緊接著 (沒有任何交錯字元) 任意數量的刻度標記 (')。刻度標記表示在往上執行到右邊運算元之前,會循環執行整個範圍。刻度標記的數量會設定循環次數。

 

DOWNTO

 

運算子的用法:<花紋> downto <花紋> 簡短形式:>, -

唯有當左邊運算元的最後一個元素完全大於右邊運算元的第一個元素時,可能才會使用「-」做為 downto 運算子。

左邊和右邊運算元都是任意長度的花紋。

展開是利用左邊運算元的最後一個元素與右邊運算元的第一個元素間之遞減順序來連接的左邊運算元,其會與右邊運算元的其餘元素相連接。

Downto 會以經紗方式來圍繞該範圍。例如,2 downto 7 可展開為 2187。

Downto 運算子後面可能會緊接著 (沒有任何交錯字元) 任意數量的刻度標記 (')。刻度標記表示在往下執行到右邊運算元之前,會循環執行整個範圍。刻度標記的數量會設定循環次數。

 

TEMPLATE

 

右邊和左邊運算元都是任意長度的花紋。

Template 允許利用材質花紋 (右邊運算元) 來製作主花紋 (左邊運算元) 的材質 (子連接)。

範本的第一個元素會用來做為根項目。範本順序中的所有其他元素則會根據它們與根項目的差異來進行考量。例如,若 342 是範本花紋,則第一個元素 (3) 是根項目 (r)。第二個元素 (4) 是 r+1,而第三個元素 (2) 是 r-1。因此 template 是 r、 r+1 和 r-1。

此範本接著會利用取代根項目的元素值,套用至左邊運算元中的每個元素。

請記住,值會以經紗方式來圍繞該範圍。

 

PALINDROME

 

此運算子只有一個運算元 (左邊運算元)。該運算元可以是任意長度的花紋。展開的結果是與其本身往後方連接的左邊運算元。

但是,中間元素不會重複,而且會自動捨棄結果的最後一個元素。這對於重複雙向的順序時非常重要,且有助於從織布初稿中移除瑕疵。

雙向字在向前拼或向後拼時都是相同的,例如「太太」。

 

PERMUTE

 

左邊運算元是任意長度的花紋。右邊運算元是排列向量。

左邊運算元會展開為右邊運算元長度之整數倍數的長度。

接著,左邊運算元會以右邊運算元的長度區塊來排列。排列花紋的組織方式可用來重新組織花紋每個區塊中的元素。

例如,312 的排列會「先放置第三個元素,接著放置第一個元素,然後放置第二個元素」。

 

PBOX

 

左邊運算元是任意長度的花紋。右邊運算元是排列向量。您可以視需要調整它的長度 (透過修剪或重複),使其等於左邊運算元的長度。

接著,排列花紋的組織方式可用來重新組織花紋的元素。

Pbox 會保留左邊運算元花紋的長度。

 

UPDOWN

 

左邊和右邊運算元都是任意長度的花紋。如果其中一個運算元長度比另一個運算元短,即可加以擴充 (透過重複方式),以便與另一個運算元的長度完全相同。

接著,UPDOWN 會產生交替式遞增和遞減執行。一律會產生奇數的執行數目。展開包含從左邊運算元之第一個元素到右邊運算元之第一個元素的遞增執行,之後緊接著從此處到第一個運算元之第二個元素的遞減執行,依此類推。在進行從左邊運算元之最後一個元素到右邊運算元之最後一個元素的遞增執行之後,作業才會完成。

Updown 運算子後面可能會緊接著 (沒有任何交錯字元) 任意數量的刻度標記 (')。刻度標記表示在完成往上與往下執行之前,會循環執行整個範圍。刻度標記的數量會設定循環次數。

 

DOWNUP

 

左邊和右邊運算元都是任意長度的花紋。如果其中一個運算元長度比另一個運算元短,即可加以擴充 (透過重複方式),以便與另一個運算元的長度完全相同。

接著,DOWNUP 會產生交替式遞增和遞減執行。一律會產生奇數的執行數目。展開包含從左邊運算元之第一個元素到右邊運算元之第一個元素的遞減執行,之後緊接著從此處到第一個運算元之第二個元素的遞增執行,依此類推。在進行從左邊運算元之最後一個元素到右邊運算元之最後一個元素的遞減執行之後,作業才算完成。

Downup 運算子後面可能會緊接著 (沒有任何交錯字元) 任意數量的刻度標記 (')。刻度標記表示在完成往上與往下執行之前,會循環執行整個範圍。刻度標記的數量會設定循環次數。

 

ROTATE

 

左邊運算元是任意長度的花紋。右邊運算元是解譯為長度的整數 (可能是負數)。Rotate 會從花紋的開頭取得 <數字> 所指定的元素組,並將其移至結尾。負數會從花紋的結尾取得元素組,並將它們移至開頭。

 

REVERSE

 

此運算子只有一個運算元 (左邊運算元)。該運算元可能是任意長度的花紋。展開的結果是往回寫入的左邊運算元。

 

優先順序

在運算式中使用數個運算子時,會依照優先順序來評估它們。也就是說,某些運算會在其他運算之前執行。花紋語言的優先順序等級如下所示:

若有兩個運算子的優先順序相同,即會遵照從左至右的順序。

 


回饋
此頁面是否有幫助?傳送回饋。 (需要 Internet 連線。)

Copyright 2018 Corel Corporation. 保留所有權.