Excel VBA 質問スレ Part39 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0137デフォルトの名無しさん
2015/12/22(火) 17:57:48.82ID:1IjfeHrTローカル変数定義を関数の先頭で宣言する事を強制される言語(*1)は
しかたがないので変数の宣言は関数の先頭でするしかない。
*1) Ada由来言語とか。PL/SQLとか。
そうではない言語では、なるべく変数のスコープを狭めるのが良い。
・関数ブロック内のどこででも変数定義できるのなら、なるべく利用する直前で宣言する
・ブロックスコープが存在する言語では(C系とか)は、そのブロック内で宣言する
VBAはブロックスコープが存在しないが、関数ブロック内のどこででも変数定義できるので、
なるべく利用する直前で宣言するのが良い。
例外はJavascriptで、ホイスティングによりブロックスコープ内で宣言した変数のスコープは
関数スコープにまで拡大する。
それにより
・それでも利用する直前で宣言するよ派
・知らない人がいるかもしれないので、関数の先頭でまとめてするよ派
が存在する。
■ このスレッドは過去ログ倉庫に格納されています