Contents ...
udn網路城邦
MetaPost語言﹣控制結構
2013/07/13 00:51
瀏覽310
迴響0
推薦1
引用0

條件控制:

MetaPost可以使用布林值(boolean),如true, false。配何比較運算<,>, <=,>=, <>,和邏輯運算and, or ,not 等等,就可以形成各種運算結構。

if bool: ... fi

if bool: ... else: ... fi

if bool: ... elseif bool: ... fi

if bool: ... elseif bool: ... else: .... fi 這就像是C的switch-case控制結構。

這是if的例子:

畫角的標示弧線p,檢查二線的角度差的正負值,來決定弧線path的方向。

廻圈控制:

for 變數 =初值 step 變值 until 末值 : ... endfor,例子常見。

for 變數 =初值 upto 末值 : ... endfor,常見。

for 變數 =初值 downto 末值 : ... endfor,常見。

for 變數=任意datatype的值, 變數名稱: 如

for i=a1, "hallow world!", (a,-3.14b), (1,2,3,4,5): show i; endfor

這for 也可以執行。;另外

draw for i=(0,0), (4,2),(-2,-4): i-- endfor cycle;等於

draw (0,0)--(4,2)--(-2,-4)--cycle;

for 變數 within 圖形 : ... endfor,變數內容是圖形型態,用於運算圖形。

forsuffixes 變數 =後綴詞: ...endfor, 可用於合法變數名。如:

forsuffixes i=a1,a2,a.bx:%forsuffixes i=1,2,3.bx;

show str i;%show "a"&str i;

endfor end;

第一種顯示正常,而把前二行用%部分碼取代也能執行,但顯示3.bx的.不見了成為a3bx…

forever: ... exitif (boolean); endfor

forever:... exitunless(boolean); endfor

exif 和 exitunless 的判斷式子可以在for, forever, forsuffixes的廻圈中的任何位置,一旦成立即可跳出廻圈。

還是畫角的弧線

有誰推薦more

限會員,要發表迴響,請先登入