VB

仕事で VBScriptJava を触ることになりそうな気配が漂ってきてるので、早速言語仕様のお勉強です。

とりあえず VBScript からとりかかってみることに。

代入と比較で同じ = 演算子(なのかどうかも定かではないですが…)を使うってのが新鮮というか驚きというか。BASIC だからなんでしょうけど。なので構文上比較した結果を代入(bool a = (b == c) みたいなの)とかは無理?試してないので分かりませんが。

制御構造のいわゆるぶら下がりは駄目っぽいですね。個人的にはこっちの方が好き。

関数が戻り値の有り、無しで定義が違うのも良いです。が、Function の時の結果用変数名が固定(関数名と同一)なのは多少イヤかも。読みやすそうな変数名にする為に関数名まで変更はしたくないので、勝手な結果用変数(Result とか)を作って、最後に本物の結果用変数に代入するとかしそうな勢いですが、これはやっぱり却下でしょうか。マルッとコピーペーストするのを禁止する為の仕組みとしか考えられません(笑)。まぁ最近のエディタはリファクタリングもちょいちょいで出来るので問題無いんでしょうか。

続いてエラー処理。On Error 〜 という構文があるのでこれを使う訳ですが try 〜 catch と同じように使える訳ではないので注意が必要。goto で制御する場合はラベルの重複も多分駄目だろうから、結構面倒臭いかもしれないです。

関数の後のカッコがいらないってのはちょっとイヤかも。ぱっと見で関数呼び出しなのか構文なのかの判断が出来ない可能性は無いですかね? Integer32 a,b,c とかやるとヤバいですね(^^;

文の後の ; (セミコロン)はいりません。これは好みの分かれる所でしょうか。パースが面倒になりますが、他のところでもかなり面倒なことをやってそうなので、文の終わりの検出なんて些細な問題なのでしょうが。その代わり、次の行に継続させるためには _ を明示的に書いてあげる必要があります。大技として「継続させない」という方法もあります。エディタが適当なところ*1で折り返してくれるモノであればこの大技を繰り出すことも可能。

良さそうなところ、悪そうなところをざっと挙げてみました。まぁそんなに悪い印象は受けなかったです。実際に開発すると変なところでハマったりするんでしょうけど…。

*1:適当なところ:コロンの後とかスペースとか