注意:リストコマンドは,観察者のみによって用いられる。
10. 1. butfirst, bf dlist @
最初の要索をのぞいたdlistの値を告げる。
10. 2. butlast, bl dlist @
最後の要素をのぞいた dlistの値を告げる。
10. 3. empty? dlist @
dlistが空のリストなら真を,そうでなければ偽を告げる。
10. 4. first dlist@ dlistの最初の要素を告げる。
10. 5. fput item dlist@ (f irst put)
itemを最初の要索として挿入したときのdlistの値を告げる。
10. 6. item item‑number dlist@
dlistにおける item‑numberのアイテムを告げる。
注意:リスト・アイテムの番号は0から始まる。 1からではない。
10. 7. last dlist@
dlistの最後の要索を告げる。
10. 8. length dlist @ dlistの長さを告げる。
10. 9. list iteml item2 @
itemlを最初の要素とし, item2を二番目の要索とするあたらしい dlistを告げる。
10. 10. list? thing@
thingがリストなら真を,そうでなければ偽を告げる。
10. 11. lput item dlist@ (last put)
itemを最後の要索として挿入したときの dlistの値を告げる。
10. 12. member? item dlist @
itemがdlistの要索なら真を,そうでなければ偽を告げる。
10. 13. position item dlist @
dlistにおいて itemが最初にあらわれる位置を告げる。itemがdlistに存在しない場合には,偽 を告げる。
10. 14. sentence, se anything] anything2@
anything Iの要素と anything2の要索から構成されるあたらしいリストを告げる。ふたつの入 カのどちらかが, dlistsなら, sentenceはふたつの入力を連結してあたらしいdlistsをつくる。
ふたつの入力のどちらも, dlistsでないなら sentenceはlistコマンドと同様にふるまう。
10. 15. word thingl thing2 @
ふたつの入力をいっしょに連結し,結果をシンポルとしてもどす。
例: word "a" b
(abというシンポルをもどす。)
例:load‑pict (word project‑directory "traffic. pict) test
(traffic. pict (現在のプロジェクトのディレクトリに存在する)のピクチュアを,パッチ変数 testにロードする。)
11. プロット・コマンド 11. 1. clearplot, cp @
プロット・ペンで描かれたものをすべて消去し,すべてのペンの位置を (0, 0)にリセット する。
11. 2. plot y‑value@
y‑valueで点をプロットし,プロット・ペンのx‑valueをppintervalだけ増やす。ペンは, plot
‑xmaxに達するまでグラフを描きつづける。
11. 3. plot‑penl, ppl@, plot‑pen2, pp2@, plot‑pen3, pp3@, plot‑pen4, pp4@, plot‑pen5, pp5@, plot‑pen6, pp6@
plot‑penl (またはppl)は,プロット・ペン番号1を選ぶ。つづくプロット命令は,プロット・
ペン 1によって遂行される。同様に, plot‑pen2からplot‑pen6までのコマンドは,他のプロッ ト・ペンを選ぶものである。
11. 4. plot‑pencolor, ppc@
プロット・ペンの色を告げる。
11. 5. plot‑pendown, ppd@
プロット・ペンをおろして,連続したグラフが描けるようにする。
11. 6. plot‑penreset, ppreset@
このプロット・ペンで描かれたものをすべて消去し,ペンの位置を (0, 0)にリセットする。
11. 7. plot‑penup, ppu@
プロット・ペンをあげて,点を個別に(連続せずに)描けるようにする。
11. 8. plot‑point x‑value y‑value@
(x‑value, y‑value)に点をプロットする。 plot‑pointは,状態ー空間プロットをつくるのに役 立つ。
11. 9. plot‑xmin @, plot‑xmax @, plot‑ymin @, plot‑ymax@
プロットに表示されている軸の最小値や最大値を告げる。これらの値は, setplot‑xrangeと setplot‑yrangのコマンドで設定できる。
11. 10. ppinterval@
プロット・コマンドにつづいて,プロット・ペンがうご<X軸方向の距離を告げる。プロット・
ペンのうごく距離は,ピクセル以下にも多くのピクセルをジャンプするようにも設定できる。
11. 11. ppxcor@
プロット・ペンのX座標を告げる。
11. 12. ppycor@
プロット・ペンのy座標を告げる。
11. 13. setplot‑pencolor, setppc color@
プロット・ペンの色を colorで指示する色に設定する。
11. 14. setplot‑xlabel title@, setplot‑ylabel title@ プロットしていく軸たいして, titleをラベルとしてつける。
例:setplot‑xlabel "Time
(x軸にTimeというラベルをつける。)
11. 15. setplot‑xrange min max@, setplot‑yrange min max@
表示されるプロットの軸の,最小値を minに,最大値を maxに設定する。
11. 16. setppinterval number@
プロット・コマンドにつづいて,プロット・ペンがX軸方向に, numberの距離だけうごくよう に設定する。
12. ファイル・コマンド
12. 1. choose‑directory‑dialog@
ダイアログがポップアップし,ューザーにディレクトリを選択するようにもとめる。ユーザー がディレクトリを選択すれば,そのディレクトリをかえす。キャンセル・ボタンが押されたと
きには偽をかえす。
12. 2. choose‑file‑dialog@
ダイアログがポップアップし,ューザーにファイルを選択するようにもとめる。ユーザーがフ ァイルを選択すれば,そのファイルまでの完全なパス名をかえす。キャンセル・ポタンが押さ
れたときには偽をかえす。
12. 3. choose‑new‑file‑dialog@
ダイアログがポップアップし,ューザーに新しいファイル名をつくるようにもとめる。ユーザ ーがファイル名をつくれば,そのファイルまでの完全なパス名をかえす。キャンセル・ポタン が押されたときには偽をかえす。
12. 4. export‑patches filename @
パッチとそのすべての状態を, filenameで指定されたファイルに保存する。
12. 5. export‑turtles filename @
タートルとそのすべての状態を, filenameで指定されたファイルに保存する。
12. 6. export‑turtles‑and‑patches filename @
タートル,パッチとそのすべての状態を, filenameで指定されたファイルに保存する。
12. 7. import‑patches@
パッチをファイルからよみこむ。ダイアログがポップアップし,そこからファイルを選択する。
注意:スターロゴは,保存されたパッチの状態と,現在の手続きの間の違いを,調停させよう と試みる。もし保存されたパッチに,現在の手続きのページに存在していないような,名前の 変数がある場合には,その変数にはアクセスできなくなる。反対に,手続きのページに,保存 されたパッチに存在しないような,名前の変数がある場合には,各パッチのこの変数にはラン ダムな数値がわりふられる。
12. 8. import‑turtles@
タートルをファイルからよみこむ。ダイアログがポップアップし,そこからファイルを選択す る。
注意:スターロゴは,保存されたタートルの状態と,現在の手続きの間の違いを,調停させよ うと試みる。もし保存されたタートルに,現在の手続きのページに存在していないような,名 前の変数がある場合には,その変数にはアクセスできなくなる。反対に,手続きのページに,
保存されたタートルに存在しないような,名前の変数がある場合には,各タートルのこの変数 にはランダムな数値がわりふられる。
12. 9. import‑turtles‑and‑patches@
タートルとパッチをファイルからよみこむ。ダイアログがポップアップし,そこからファイル を選択する。
注意:スターロゴは.保存されたタートル,パッチの状態と.現在の手続きの間の違いを,調 停させようと試みる。もし保存されたタートルまたはパッチに,現在の手続きのページに存在 していないような名前の変数がある場合には,その変数にはアクセスできなくなる。反対に.
手続きのページに.保存されたタートルまたはパッチに存在しないような.名前の変数がある 場合には.各タートルまたはパッチのこの変数にはランダムな数値がわりふられる。
12. 10. project‑directory @
現在のプロジェクトがあるディレクトリを告げる。ファイルとして保存されたプロジェクトが 存在しないときには.偽を告げる。
12. 11. project‑name@
現在のプロジェクト名をパス名なしに告げる。ファイルとして保存されたプロジェクトが存在 しないときには,偽を告げる。
12. 12. project‑pathname@
現在のプロジェクトのファイルのパス名を告げる。ファイルとして保存されたプロジェクトが 存在しないときには,偽を告げる。
12. 13. save‑project@
現在のプロジェクトをファイルヘ保存する。キーショートカットのcommand‑S,メニューから
「
SaveProject」を選んでも同じ。12. 14. starlogo‑directory@
スターロゴのアプリケーションが存在しているディレクトリを告げる。
13. カメラ,ムーヴィーコマンド 13. 1. camera‑brightness@
camera‑clickコマンドで用いられる.カメラの明るさを0から100までの数値で告げる。
13. 2. camera‑click patch‑variable@
QuickTimeとコンパチプルなカメラからイメージをとりだし,そのグレイスケール版をpatch
‑variableで指定されたパッチ変数におくりこむ。イメージがスクリーン・サイズより大きいと きには,イメージの中央部分をとりだす。(カメラはcamera‑initで初期化しておく必要があ る。)
13. 3. camera‑init@
コンピュータに接続された,Quick Timeとコンパチプルなビデオ・カメラを初期化する。(カ メラはイメージを,スターロゴのパッチにおくりこむのに用いることができる。)
注意:コンピュータにカメラが接続されていないときに.カメラ・コマンドを使おうと試みな いこと。
13. 4. camera‑set‑brightness number@
camera‑clickコマンドで用いられるカメラの明るさを numberに設定する。入力される num‑
berは, 0から100の間でなくてはならない。
13. 5. close‑movie @
スターロゴ・ムーヴィーの記録を止めて保存する。ムーヴィーは,PICSフォーマットで作られ る。
注意:スターロゴでは単純化のため,PICSフォーマットのみでムーヴィー・ファイルを書きだ す。これを,Quick Time Moo Vフォーマットにコンバートするためには.グラフィック・ユ ーティリティーが必要になる。これができるユーティリティーには,Graphic Converter, Des‑ ktopMovieなどある。
13. 6. load‑pict filename patch‑variable@
グラフィック・イメージ (PICTフォーマットでの)をfilenameで指定されたファイルからと りだし,指示したpatch‑variableにおくりこむ。このコマンドは,イメージのサイズをスターロ ゴのグラフィック・ウィンドウにあてはまる大きさに変更する。
注意:filenameにディレクトリがしめしてない場合,スターロゴはまずスターロゴのアプリケ ーションのディレクトリをさがし,つぎにプロジェクトのディレクトリをさがす。
13. 7. movie‑snapshot@
現在のムーヴィーの他のフレームをつかまえる。
13. 8. open‑movie file‑name@
スターロゴが, file‑nameで指定する新しいムーヴィーをつくるよう,セット・アップする。こ
のムーヴィーは,PICSフォーマットでつくられる。
例:open‑movie "ants
(antsという名前のムーヴィーをセット・アップする。)
注意:ファイル名にスペースをつけくわえたいなら.そのまわりに 1とIをつかうこと。
例: open‑movie "
I
The Ants Take ManhattanI
14. データ・タイプについての情報
スターロゴは.数種のデータ・タイプをサポートしています。 boolean,dlist, ilist, number, そして,symbolです。
14. 1. boolean
booleanには,真と偽の二種類がある。タートルとパッチにおいて.真は0.偽は非ゼロの任意 の数値である。観察者においては,booleanは真(または0)と偽/空ーリスト(または非ゼロ の任意の数値)である。
注意:現在.スターロゴは.真と偽についてPascalのとりきめをつかっている。将来
.c
のとりきめに変更することがありうる。 Cでは,真は非ゼロの任意の数値.偽は0となる。したが って.プログラムが将来のヴァージョンのスターロゴでも正しく機能することを保証するため に,booleanの値としてtrueとfalseをつかうことをすすめる。
14. 2. dlist
dlistは,他のヴァージョンの Logoと同様. リンクされたデータ・リストである。しかし.他 のLogoとことなり.スターロゴでは,dlistを命令として実行することはできない。(つまり.
実行コマンドが存在しない。)dlistをつくるのには,listやsentenceコマンドをもちいるか.文 字要索を[ ]でかこむ。(例.setfamily [my mother is nice])。 dlistにおいて[ ]のな かの要索は評価されない。
注意:他のデータ・タイプとことなり,dlistは観察者にたいしてのみサポートされる。タート ルとパッチは,dlistにアクセスできない。タートルやパッチの変数をdlistで設定しようとする
と.変数は0にリセットされる。
14. 3. ilist
コマンドのリスト(例.if xcor>O [fd50])を実行するときには, ilistをつかうことになる。
ilistは,dlistとはことなり.実行中につくることはできない。 ilist中のすべての値はevaluate される。