Jump/ja: Difference between revisions
< Jump
Mako Nozaki (talk | contribs) No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
{{LSL Header/ja| | {{LSL Header/ja| | ||
}}{{#vardefine:name|jump | }}{{#vardefine:name|jump | ||
}}{{#vardefine:p_jump_target_desc| | }}{{#vardefine:p_jump_target_desc|ラベルは階層ツリーでjumpを含むスコープ区間になければなりません。 | ||
}}{{#vardefine:p_label_target_desc| | }}{{#vardefine:p_label_target_desc|ジャンプのターゲットになるべきラベルは、jumpがラベルと同じスコープか、ラベルが存在するよりも内側のスコープに存在する場合のみ、ターゲットとなることが出来ます。 | ||
言い換えれば、異なる関数間、異なる(離れた)スコープ間、異なるステート間でジャンプする事は出来ません。そのようなコードを書いた場合、単純にjumpに対応するラベルが見つからないと言うコンパイルエラーを起こすでしょう。 | |||
}}{{#vardefine:header_title|jump {{LSL Param|jump_target|target}}; | }}{{#vardefine:header_title|jump {{LSL Param|jump_target|target}}; | ||
}}{{#vardefine:header_text|{{{!}} | }}{{#vardefine:header_text|{{{!}} | ||
Revision as of 09:32, 10 April 2011
| LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
- The correct title of this article is jump/ja. The initial letter is shown capitalized due to technical restrictions.
jump target;
jump target;| • label | target | – | ラベルは階層ツリーでjumpを含むスコープ区間になければなりません。 |
@target;
| • label | target | – | ジャンプのターゲットになるべきラベルは、jumpがラベルと同じスコープか、ラベルが存在するよりも内側のスコープに存在する場合のみ、ターゲットとなることが出来ます。
言い換えれば、異なる関数間、異なる(離れた)スコープ間、異なるステート間でジャンプする事は出来ません。そのようなコードを書いた場合、単純にjumpに対応するラベルが見つからないと言うコンパイルエラーを起こすでしょう。 |
注意点
targetは、全てのジャンプは行いません。
複数に及ぶジャンプのためには、更にtargetを使う必要があるでしょう。
技術的な限界、見落とし、バグの場合、常に無いものとして扱われます。
サンプル
integer a = 5;
jump over;
@in;
a = 6;
@over;
llOwnerSay((string)a);
if(a < 6)
jump in;
//script will say 5 and then 6