BlackSheep-LSL@Wiki

定数とは?

最終更新:

mizcremorne

- view
メンバー限定 登録/ログイン

定数


「変数」というのは中身の値が変わるものでしたが、中身の変わらないものもあります。
それを「定数」と言います。

変数には自由な名前を付けることができるのに対し、定数はあらかじめ名前が決まっています。
例えば、「PI」という名前の定数があるのですが、この定数の実態は、

3.1415926535897932384626433832795

という小数値です。
これって要するに円周率です。

セカンドライフは3Dの仮想世界ですので、回転等の計算をするときにはしばしば円周率が登場します。
円周率が出てくるたびに、「3.141592653589…..」と数値を書くのは非常に面倒ですし、入力を間違える可能性もあります。
ですので、親切なリンデン社の誰かが、
「PIと書いたら3.1415926535897932384626433832795のことにするね」
と、私たちのために用意してくれたのです。
そのおかげで私たちは簡単に円周率を使うことができるようになっています。

このように、あらかじめ用意されている、名前のついた固定値のことを「定数」と言います。
定数はたくさんありますので、ここで全てを紹介するのはやめておきますが、この先「定数」という言葉が出てきたら、
「なんか知らんけどリンデン社が用意してくれている値のことだな」
と理解して下さい。

多くの場合、定数の中身がどんな値なのかは意識しなくても問題ありません。
先ほど紹介したPIにしても、具体的な「3.141592653589…..」という数値を覚えておく必要はなく、「PIとは円周率のことだ」と理解しているだけで十分です。
他の定数についても、「この定数はどういう意味をもつのか」さえ理解していれば、中身については知らなくても使えます。

なお、定数にも変数同様の型があります。
型が異なる場合は一緒に扱うことはできません。

以下によく使う定数を少しばかり紹介しておきましょう。

【主な定数】
定数 用途・意味
PI 円周率 float 3.1415926535897932384626433832795
NULL_KEY key型の初期値 key "00000000-0000-0000-0000-000000000000"
ZERO_VECTOR vector型の初期値 vector <0.0, 0.0, 0.0>
ZERO_ROTATION rotation型の初期値 rotation <0.0, 0.0, 0.0, 1.0>
TRUE “真(正しい)”を意味する integer 1
FALSE “偽(間違っている)”を意味する integer 0

もう一つの「定数」


さて、「定数」という言葉にはもう一つ意味があります。

string name1 = ”Miz”;
integer money1 = 100;

このように書いたとき、「”Miz”」や「100」を定数と呼ぶことがあります。
つまり直接に値が書いてあるもののことです。

「name1」や「money1」はあくまでも変数です。
上記の例は、
「文字列型変数name1に定数”Miz”を代入する」
「整数型変数money1に定数100を代入する」
という処理になります。

ですので、定数というのは、
  • 固定値に名前がつけられているもの
  • 値そのもの
この二つを指します。

まとめ


LSLで「何を」「誰に」「どのくらい」「どのように」を指定するには「変数」か「定数」を使います。
「変数」は中身の値を変えることができます。
「定数」は値を変えられません。
また、「定数」にはリンデンによって名前が付けられているものと、値を直接書くものの二種類があります。
記事メニュー
目安箱バナー