関数内をみると、local w=bs_width()
と初期化されています。これは、APIを呼び出しています。 呼び出しは、関数名()
と書きます。APIも関数なのですが、予め用意されているので、わざわざ定義する必要はありません。 しかし、パラメータなど使うのであれば、自分で定義する必要があります。
このように定義するのですが、もし定義せずにいきなり呼び出したら、何も起きないか、エラーになるでしょう。 なので、呼び出す前に必ず定義するようにしましょう。呼び出す例は、以下の通りです。
関数を使うのであれば、値を受け渡しすることがあります。 function main(x, y, p)
のx, y, p
は、引数(ひきすう)といわれるもので、一時的な橋渡しをする変数のようなものでしょうか。 次の行では、引数を参照して計算しています。 xとyはカーソル座標が渡されているので、式中にlastX-x, lastY-y
とそのまま書けば取得できるわけです。
ちなみに、複数の引数を渡すのであれば、コンマで区切ります。
Luaでは、関数も変数データの値となるようです。なので、このように書いてもエラーになりません。
しかも、下のような関数定義と同じことになります。
もし、一時的に使う関数を定義したいのなら、このように書けばいいのです。
返しは、return
のあとに式を書きます。何度も同じ計算するときなど、関数定義します。そのときに、このように返します。
関数はデータの値なので、このようにも返せます。
私は、パラメータの定義を短く書きたいときにこうしているんですが、どうなんでしょうかね。 パラメータの値を予め細工したいときは、普通に定義するべきでしょうね。