網路城邦
上一篇 回創作列表 下一篇   字體:
MetaPost語言﹣控制結構
2013/07/13 00:51:47瀏覽263|回應0|推薦1

條件控制:

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的廻圈中的任何位置,一旦成立即可跳出廻圈。

還是畫角的弧線

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=paraquat&aid=7842270