|
▼悠 さん:
>BaValの働きについて説明したいのですが、どう説明すればよいですか?
>ちょっとわかりませんでした・・・・
こんばんは。
SubステートメントまたはFunctionステートメントのヘルプを引くと
以下のように説明されています。
ByVal 省略可能です。その引数が値渡しで渡されることを示します。
ByRef 省略可能です。その引数が参照渡しで渡されることを示します。
Visual Basic では、キーワード ByRef が既定値です。
また、値渡し、参照渡しについては、リンクをたどると以下のような
説明を読むことが出来ます。
値渡し プロシージャに引数として変数を渡す方法の 1 つ。
値渡し (値による引き渡し) で変数をプロシージャに渡すと、
元の変数のコピーが作成され、呼び出されたプロシージャに
渡されます。したがって、呼び出されたプロシージャ内で渡
された変数の値を変更しても、呼び出し側のプロシージャが
参照する元の変数の値は変更されません。
参照渡し プロシージャに引数として変数を渡す方法の 1 つ。
参照渡し (参照による引き渡し) で変数をプロシージャに渡すと、
その変数の内容は、呼び出されたプロシージャ内で変更すること
ができます。参照渡しでは、呼び出されたプロシージャ内では、
渡された変数のメモリ内の格納場所に対して、直接操作を行います。
したがって、呼び出されたプロシージャ内で渡された変数の値を変更
すると、呼び出し側のプロシージャで参照する元の変数の値も変更されます。
辞書的な意味としては以上です。
これを自分の”実感として理解”するためには、
自分でプログラムしてこの違いを体験する必要があると思います。
ヘルプを見ればすぐに分かることを質問するのは、
自分の手間の節約にはなっても時間の節約にはならないでしょう。
ヘルプを読んでも分からない場合は、
具体的に事例を挙げて質問されることを推奨します。
でわ
|
|