LSLを記述する上での禁止事項
LSLをはじめ、プログラミングには数多くの禁止事項、つまりやってはいけないことが存在します。
(それをやるとコンピュータがエラーを出力したり、正常な動作をしないことがあります)
1.{}や()は確実に記述しなければならない
プログラムは改行や半角スペースなどを空白とみなします。
つまり、
default{
if(){
}
と一見正しそうなスクリプトを入力していても、実際にはdefault{if(){}とコンピュータは読み込むため、最後の}がないのでコンピュータにとっては不都合なスクリプトなのです。
2.全角スペースはテキストを入力するとき以外使わない。
さきほどの例を使いますが(wikiの都合上、全角スペースを使ってますが)、コンピュータは半角スペースとは違い、全角スペースを文字と見なします。
全角スペースを仮にアとすると、default{アアアif(){アアア}}のようにコンピュータは判断しているのです。これではまともに動くわけがないということは感覚でわかっていただけると思います。
ちなみに、全角スペースが文字として扱われる理由は、コンピュータはもともと1バイト文字(半角英数など)にしか対応しておらず、2バイト文字(平仮名や漢字、全角の記号等)は1バイト文字を組み合わせて作られているからです。
なので、さきほどのアで置き換えた式は、仮にアがaeで置き換えられているとするとdefault{aeaeaeif(){aeaeae}}となります。
3.命令文などは必ず正確に入力する。
現職のプログラマーでもデバッグをするときに苦労するのがこれです。
例えばdefaultのaをoと間違え、defoultと書いただけでプログラムは一切機能しなくなります。
特にLSLの場合、現状、C言語等とは違い、デバッグツールの整ったスクリプト言語ではありませんから、人力でこれを発見しなければならないのです。
その苦労は大規模なプログラムになればなるほどわかると思います。
スクリプトは一字一句正確に入力しましょう。
(デバッグツールが開発されることを祈って書いてます)