ロボットシミュレーターを書いてみましょう。
ロボット工場の試験施設では、ロボットの動きを検証するプログラムが必要です。
ロボットにできる動きは3つあります。
ロボットは、無限に広がる仮想のグリッド上に置かれ、{x,y}座標(たとえば{3,8})の位置で、north、east、south、westのいずれかの方向を向いています。座標は北と東に向かって大きくなります。
その後、ロボットはいくつかの命令を受け取り、試験施設はロボットの新しい位置と、向いている方向を検証します。
スロットx、y、directionを持つrobotタプルを定義します。directionスロットには、シンボルnorth、east、south、westのいずれかが入ります(この演習のボキャブラリで宣言されています)。
<robot> ( x y direction -- robot )は、ロボットを生成します。move ( robot instructions -- robot )は、R、L、Aの命令からなる文字列を適用し、更新されたロボットを返します。