[StarLogo/fujim2]
[ トップ ]   [ 差分 | バックアップ | リロード ]   [ 一覧 | 単語検索 | 最終更新 | ヘルプ ]

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • 関数定義 へ行く。

[[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


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Site admin: anonymous

PukiWiki 1.5.0 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji. Powered by PHP 5.6.21. HTML convert time: 0.032 sec.