あるプログラマの日記

プログラマのメモ、出来事、考えたこと、勉強とかの雑記

勝手が違う

C言語系の人間にとって、何か、勝手が違うVisual Basicですが、

Dim X%
Dim Y%
X% = Y% = 1

のX%とY%に代入された値は、なんだと思いますか?

C言語系人間にとっては、X%, Y%ともに 1 だと思うんですが
Visual Basicは、X%, Y%ともに 0 です。

X% = は代入式ですが、その右横の Y% = 1 は、なんと評価式です。
この時点では、Y%は、0です。1とY%は、同じではないので、評価式としては
False が返されます。X%は、整数型ですので、Falseが、 0に変換されて、X%には、0が代入されます。