関数の説明

Last-modified: 2007-02-01 (木) 21:12:59

関数の説明

C言語の最初の難関と言われる関数。挫折する人の多くが関数がわからなくて挫折します。
前の前の項では関数や制御式は玄関だーっ、と言っていましたが、まじめに関数の話をするとそれだけでは説明がまったく足りないので説明していきます。
(判別式や命令に比べて説明が結構難しいので、ここでわからないからと言って頭を抱えないで大丈夫です)

関数は英語でFunction

かなり唐突ですが、関数という名前では説明するにはちょっとわかりにくいです。(なじみもあまりありませんし)
そこで、関数をプログラミングの本家である英語名に直します。題名ですでに言ってますが、関数は英語でFunctionといいます。
このFunctionをYahoo辞書で検索すると、

 

[名] (人間・物・制度などに固有の)機能, 作用, 働き, 効用;職務, 役割, 役目

 

つまり、関数というものはこういう機能や役割といった感じのものなのです。(見た目からすると何かの数かと最初は思いますが)

これを頭の中で意識できたら、次に進んでください。

関数は専門業者

またまた意味不明なタイトルをつけてしまいましたが、前項で関数の英語functionを辞書で引いたところ、職務と出てきました。
要するに、関数は一般的には難しい専門的なことをやってくれる命令文のことなのです。

 

一番簡単な関数であるllsettest(プリムの上に文字を出す関数)を例にして説明します。
http://rpgstats.com/wiki/index.php?title=LlSetText
(2月1日現在、全英語ですが)

 

Sets the contents of text as floating text over the prim using the specified color and transparency (alpha).

"\n" can be used to start a new line. Empty lines must have at least one character (use a space: " \n"). text has a length limit of 255 characters.

LSLWikiから引用。

 

訳文:

 

指定された色と透明度(アルファ)を使用して、プリムの上にテキストを浮かせます。
「\n」は新しい行を始めるために用いることができます。
その行が一文字もなければ、半角スペースを用いて" \n"(全角スペースでなく半角スペースです)と入力してください。
テキストは255文字(半角で)の長さ制限があります。

 

説明を呼めばこの関数がどういった働きをするものなのかが明確にわかると思います。
次に、

 

llSetText(string text, vector color, float alpha)

 

というのを見てみます。
llSetTextの後ろについている()の中に書いてあるのはllSetTextを使うための設定です。
string textは文字の入力、vector colorは文字の色、float alphaは透明度を意味しています。

つまり、llSetText("Moji wo Hyouji\nSimasita!",<0,0,0>,0);のように書けばプリムの上に文字が浮いてくれるのです。

この要領で、SLで用意された関数と判定式を使っていけばある程度のスクリプトは書けると思います。

なんだ、これだけか、と思う方もいるかもしれませんが、LSLの関数は他のスクリプト言語とほぼ同じ性質なので、実はここまではほとんど命令文の説明です。

ユーザー定義関数については難易度がぐっと上がり、説明の量が増えるので別項にて説明します。