Pythonでマクロ:LibreLogoで再帰関数を実行する

LibreOfficeのWriter(文書処理)は一つの機能としてタートル・グラフィックスのためのプログラミング環境を提供している。それがLibreLogoである。文書処理の中にプログラミング環境を提供するという発想が面白い。コンピュータ・プログラミングの敷居を低めることができるかもしれない。LOGOに似た言語が使える。LibreLogoの詳細はここにある。

早速使ってみる。再帰関数が動くか確かめた。以下が使った再帰関数の一例である。

【再帰関数】


TO draw length  n
  IF n  = 0 [ STOP ]
  angle = 60
  FORWARD length * n
  LEFT angle
  draw length n-1
  RIGHT 2 * angle
  draw length n-1
  LEFT angle
  BACK length * n
END

draw 20 5

TO draw length nからENDまでが再帰関数の定義である。大文字ばかりの単語はLibreLogoの既約語である。これには日本語が使える。

【実行結果】

タートル・グラフィックス(中央にいるのがカメ)

LibreLogoで再帰処理ができることが解った。