ab.com コミュニティ https://www.activebasic.com/forum/ |
|
ユーザー定義の識別子がかぶった場合の対処 https://www.activebasic.com/forum/viewtopic.php?t=1747 |
ページ 1 / 1 |
作成者: | konisi [ 2007年1月04日(木) 01:55 ] |
記事の件名: | ユーザー定義の識別子がかぶった場合の対処 |
例えば、次のようなコードはエラーになります。 コード: const k=1 Sub f() Dim k As Long End Subこれは定数kと同じ名前のローカル変数が宣言されようとしているのでエラーになるのですが 変数kが宣言されている関数内で、const.kと書かれたときは定数kを参照、特に指示が無い場合はローカル変数を参照。 という方式にすればエラーにならず、且つ両方使用できるので便利だと思います。 同様に、次のようなコード コード: Dim k As Long Sub f() Dim k As Double End Subのf関数内でグローバル変数kを使いたい場合に、global.kと表記する事で参照できるように出来ればと思います。 同様に、次のようなコードが書ければ便利だと考えます。 コード: const k=1 Dim k As Long Class F Private k As Single Protect k As Word Public k As Byte Sub F() End Sub Sub a() Dim k As Double,n As Double n=const.k'定数 n=global.k'グローバル変数 n=this.private.k'内部変数 n=this.protect.k'半保護変数 n=this.public.k'公開変数 n=this.k'内部変数(標準動作) '内部変数が無い場合は半保護変数、それも無い場合は公開変数を参照する。 n=k'ローカル変数(標準動作) 'ローカル変数が無い場合は内部変数、以下thisの優先度に等しい。 'thisの優先度で判定を行った後公開変数を参照できない場合は、グローバル変数を参照する。グローバル変数が無ければ定数を参照する。 End Sub End Class |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |