2010年10月13日
10/9(土)のオフィスアワーっす
次の講座まで10日もあるっすねぇ。
4回目のお題についての質問が無いところを見ると、
調べたりするのは順調に進んでるみたいっすね。
どうもぺんぎんっす( ◎v◎ )
オフィスアワーはデジアカの受講者じゃなくてもOKっす。
質問が多数出た場合に優先するってだけっす。
別に講座の質問じゃなくて、他のスクリプトの話でも良いっす。
誰でもウェルカムっすよ。
講座3回目の原稿など
10/6(水)のオフィスアワー
ただのブロック
ifでもなくforでもなくwhileでもないのに{ }で囲った文っす。
なので「ただのブロック」と呼んでるだけっす。
default
{
state_entry()
{
integer a = 2;
{ // ※
integer a = 3;
llOwnerSay("inner block: " + (string)a);
} // ※
llOwnerSay((string)a);
}
}
例えばこんなやつっす。
LSLEditorではダメなんっすけど、in-worldでは通るっす。
ちなみに※の行に書いてある{ }を消すとコンパイルエラーが出るっす。
[state_entryのa]と[state_entryの、さらに内側のa]
2つあると考えれば良さそうっす。
[state_entryの、さらに内側のa]の有効範囲は、内側のブロックが
終わるまでの部分になるっす。
こういった「ただのブロック」は書いたことが無いので、
どんなときに使うと有効なのかは分かんないっす。
何か意図があったんだろうと思うんっすけど、
自分には分からなかったっす。
宿題の答え
無いっす。
考え方が無数にあって、どれが正しいなんてのは言えないっす。
考え方によって方法も違ってくるっすからね。
自分の方で想定しているスクリプトは一応あるっす。
でも、それを出しちゃうと、それが「正解」みたいに取られるっす。
それは避けたいわけっす。
考え方の1つとしてーなら出しても良いのかもしれないっすけど、
うーん……難しいっすねぇ。
正しく動いてる? / 値がアヤシイ?
何かおかしいと思ったら、その値を出してみれば良いっす。
llOwnerSayとかを使えば確認できるっすよね。
オフィスアワーは水曜日と、講座の無い土曜日っす。
今日もやるっすよ。
4回目のお題についての質問が無いところを見ると、
調べたりするのは順調に進んでるみたいっすね。
どうもぺんぎんっす( ◎v◎ )
オフィスアワーはデジアカの受講者じゃなくてもOKっす。
質問が多数出た場合に優先するってだけっす。
別に講座の質問じゃなくて、他のスクリプトの話でも良いっす。
誰でもウェルカムっすよ。
講座3回目の原稿など
10/6(水)のオフィスアワー
ただのブロック
ifでもなくforでもなくwhileでもないのに{ }で囲った文っす。
なので「ただのブロック」と呼んでるだけっす。
default
{
state_entry()
{
integer a = 2;
{ // ※
integer a = 3;
llOwnerSay("inner block: " + (string)a);
} // ※
llOwnerSay((string)a);
}
}
例えばこんなやつっす。
LSLEditorではダメなんっすけど、in-worldでは通るっす。
ちなみに※の行に書いてある{ }を消すとコンパイルエラーが出るっす。
[state_entryのa]と[state_entryの、さらに内側のa]
2つあると考えれば良さそうっす。
[state_entryの、さらに内側のa]の有効範囲は、内側のブロックが
終わるまでの部分になるっす。
こういった「ただのブロック」は書いたことが無いので、
どんなときに使うと有効なのかは分かんないっす。
何か意図があったんだろうと思うんっすけど、
自分には分からなかったっす。
宿題の答え
無いっす。
考え方が無数にあって、どれが正しいなんてのは言えないっす。
考え方によって方法も違ってくるっすからね。
自分の方で想定しているスクリプトは一応あるっす。
でも、それを出しちゃうと、それが「正解」みたいに取られるっす。
それは避けたいわけっす。
考え方の1つとしてーなら出しても良いのかもしれないっすけど、
うーん……難しいっすねぇ。
正しく動いてる? / 値がアヤシイ?
何かおかしいと思ったら、その値を出してみれば良いっす。
llOwnerSayとかを使えば確認できるっすよね。
オフィスアワーは水曜日と、講座の無い土曜日っす。
今日もやるっすよ。
Posted by ぺんぎん at 19:08│Comments(2)
│デジアカ
この記事へのコメント
これはもしかしてreturnで出る時やローカル変数使う際に意味が出たりするんですかね?
Posted by Maaya Yohkoh at 2010年10月16日 05:18
処理の塊を明示的に分けたい場合はユーザ関数を使うっすからねぇ。
ご指摘のreturnはブロックの内側でのことだと思うんっすけど、
ブロックのreturnまでのところをユーザ関数にして、
そのあとreturnさせれば同じじゃないっすかね?
イベント内でもユーザ関数でも言えるっす。
ただ、jumpとかが書いてあったらダメっすけどね。
ユーザ関数で書いた方が分かりやすいので
「ただのブロック」は不要なんじゃないかと思うんっすけど、
何か特別な用途があるんっすかね?
for(integer i = 0; …
という書き方がLSLでは無いっすからねぇ。
うーん……
ご指摘のreturnはブロックの内側でのことだと思うんっすけど、
ブロックのreturnまでのところをユーザ関数にして、
そのあとreturnさせれば同じじゃないっすかね?
イベント内でもユーザ関数でも言えるっす。
ただ、jumpとかが書いてあったらダメっすけどね。
ユーザ関数で書いた方が分かりやすいので
「ただのブロック」は不要なんじゃないかと思うんっすけど、
何か特別な用途があるんっすかね?
for(integer i = 0; …
という書き方がLSLでは無いっすからねぇ。
うーん……
Posted by ぺんぎん
at 2010年10月18日 00:48
