« Flex2 | メイン | PLCモデム BL-PA100KT 発売 »

Visual Basicの罠

Visual Basicの罠

多くの言語では
false and c = 3
という評価式において、c = 3は実行されない。
これはfalseである時点で、この評価式が確実に失敗するため、c = 3を実行しても意味がないからである。

これを利用して、Perlではよく
open(IN, $filename) or die("ファイルの読み取りに失敗しました")
というのを見かける。これはopen関数が失敗したときにのみdie関数が呼ばれるという(ORの場合には左の式の戻り値がTRUEの時点で式全体がTRUEとなるため、右の式が実行されない。逆を言えば、左の式がFALSEを返すときだけ右の式が実行される)性質を利用したものである。
ところがである。

VBの言語使用においては、これらは利用されない。必ず左式も右式も評価されてしまう。
他の言語をやっていたときに陥りやすい罠のひとつといえよう。



トラックバック

トラックバックは本サイトの紹介(リンクがあれば可)があるものに限り受付いたします。このエントリーのトラックバックURLは以下のとおりです。

http://blog.development-network.net/mt/mt-tb.cgi/398

コメントを投稿