ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 03:04

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - ユーザー定義の識別子がかぶった場合の対処
作成者 メッセージ
  記事の件名:  ユーザー定義の識別子がかぶった場合の対処  引用付きで返信する
例えば、次のようなコードはエラーになります。
コード:
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
投稿記事 Posted: 2007年1月04日(木) 01:55

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean