[[StarLogo TIPS]] #ref(Tips-DefineFunction.PNG,,,70%) StarLogoでも呼び出し元へ値を返す手続きを定義する事ができます。 この様な手続きを「関数:Function」と呼びます。 ---- #contents ---- *値を返す方法 [#n93b8239] StarLogoの手続きが手続きの呼び出し元に対してなんらかの値を返す ためには、 output 命令を利用します。つまり、 to 手続きF ・・・ output 値 end の様に書くことで、手続きFを利用している呼び出し元の手続きに値が 返り、その値を表示したり、変数に代入したりできます。 *簡単な関数定義 [#r6aa8e49] **2つの引数を足し算した結果を返す plus 関数 [#j1ef3224] StarLogoにはもともと足し算を行う演算子 + が存在しますからわざわざ 定義する必要もないものですが、もっとも単純な例としてあげておきます。 to plus :x :y output (:x + :y) end これを確かめるためには、Control CenterウィンドウののObserver Command Center のエリア内で、showコマンドを利用します。 #ref(StarLogo-Tips-Function-plus.PNG) **累乗(MのN乗)を計算した結果を返す power 関数 [#j1ef3224] 再帰的に定義された関数も問題なく定義し、実行できます。 to power :m :n ifelse :n < 1 [ output 1 ][ output (:m * (power :m (:n - 1))) ] end plus関数と同じように確認してみます。 #ref(StarLogo-Tips-Function-power.PNG) ---- #counter