Spinelでは、手続き変数という機能があります。
この手続き変数は、使い方によってはかなり強力な機能となります。
手続き変数を使う
Spinelでは、手続き変数という機能があります。
この手続き変数は、使い方によってはかなり強力な機能となります。 手続き変数とは?
まず手続きについて説明しようと思います。 Spinelでは、手続きは関数とほぼ同じ意味です。 厳密には関数は戻り値を返しますが、手続きは戻り値を返さない(返せない)ものです。 「手続き」という言葉を使うのはこの手続き変数のみです。
手続き変数とは、手続きを変数に代入できる機能です。
このように、代入する文を「{}」で囲んで変数に代入します。 呼び出すときは、「変数名.Call」と書きます。
いままで勉強してきた知識から言うと、はっきり言ってムダな構文です。
なぜなら...
↑とまったく同じだからです。
ですから、上の例のように「Proc.Call」のように直接呼び出して使うものではありません。 もちろん、そのように使ってもいいのですが。 手続き変数の利用法
では、手続き変数の便利な使い方をお教えします。
Spinelでは、イベントというものがあります。 イベントとは、ボタンをクリックした、マウスが動いた、などの動作の際に行われる処理を言います。 このイベントは、すでにイベントを使おうで使っています。
こんな感じですね。イベントを使おうで使用したのは。
ですが、プロパティは変数と同じように使えるので
このように、直接代入することも出来ます。
さらに高度な使い方
この手続き変数は、イベント以上に便利な使い方があります。 それは、関数の引数に文を渡すことが出来るという点です。 これが可能になることで、forやifのような制御構文のような関数を作ることも可能です。
では、早速関数を作ってみましょう。
今回作るのは、指定された回数だけ単純にループする関数です。 つまり、関数内でforを使い、指定回数だけCallするだけです。
こんなに簡単に出来ちゃいました。
こうやって引数に文を渡せるのは、使い方によっては非常に便利で効率の良い プログラムを作ることが出来るのです。 |