外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
外部変形のコンパスデータを考えます。
◎コンパスデータ
cr %lg %lg %lg %lg ( "cr" x1 y1 x2 y2 )
x1 : 中心点の X 座標
y1 : 中心点の Y 座標
x2 : 円周上の点(始点、終点)の X 座標
y2 : 円周上の点(始点、終点)の Y 座標
・コンパスデータは指示番号や指標の利用ができません
・コンパスデータは配列、文字列が利用できます
④配列
( "cr" x1 y1 x2 y2 )
["cr", x1, y1, x2, y2]
⑤文字列
( "cr" x1 y1 x2 y2 )
"cr #{x1} #{y1} #{x2} #{y2}"
・配列、文字列の要素にキーワードが利用できます
⑥ハッシュ
( x1 y1 x2 y2 )
cr {x1:1, y1:2, x2:3, y2:4}
cr {:x1=>1, :y1=>2, :x2=>3, :y2=>4}
⑦キーワード引数
( x1 y1 x2 y2 )
cr x1:1, y1:2, x2:3, y2:4
cr :x1=>1, :y1=>2, :x2=>3, :y2=>4
⑧キーワード配列
( x1 y1 x2 y2 )
cr [x1:1, y1:2, x2:3, y2:4]
cr [:x1=>1, :y1=>2, :x2=>3, :y2=>4]
⑨キーワード文字列
( x1 y1 x2 y2 )
cr "x1:1, y1:2, x2:3, y2:4"
cr "x1=1, y1=2, x2=3, y2=4"
使用例
:jw.rbのコンパスデータ
@echo off
ruby -x %0
goto:eof
REM #jww
REM #1- 中心点を指示して下さい
REM #2 円周上の点を指示して下さい
REM #e
#!ruby -Ks -rjw
x1, y1, x2, y2 = *hp(1), *hp(2)
jww
plot "cr #{x1} #{y1} #{x2} #{y2}"
#plot ["cr", x1, y1, x2, y2]
__END__