スコープ
識別子の参照可能範囲
スコープとは識別子を参照可能なソースコードの範囲である。
スコープが他のスコープを囲む場合、内側のスコープから外側のスコープにある識別子を見ることができるが、外側のスコープから内側のスコープにある識別子を見ることはできない。
例えば、
class sample
bool _flag;
open method void sample_method()
bool method_flag = _flag; // ♦1
if(true)
bool if_flag = method_flag; // ♦2
endif
bool method_flag2 = if_flag; // ♦3
endmethod
endclass
♦1 : 参照可能。_flagはクラス定義スコープで宣言。内側、メソッド定義スコープから見える。
♦2 : 参照可能。method_flagはメソッド定義スコープで宣言。内側、if文スコープから見える。
♦3 : エラー。if_flagはif文スコープで宣言。外側から内側は見えない。