BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース VB 10 でアンダースコアが不要に

VB 10 でアンダースコアが不要に

ブックマーク

原文(投稿日:2009/4/8)へのリンク

Visual Basic 10 ではほとんどの行継続でアンダースコアが省略可能となる改良されたコンパイラが備わる予定だ。 これは伝統的に行末で終端を表す言語であった VB とって大きな変化である。 Visual Basic チームは暗黙の行継続について詳細な説明(リンク)を行っている。

V C# における明示的なセミコロン ";" と同じように、VB 1-6 および VB.NET (7-9) ではステートメントの終了トークンとして復帰改行を用いた。 暗黙の終了トークンへと移行することで、Visual Basic 言語の可読性はとりわけ複数行にわたる LINQ クエリを記述する際に大いに改善される。

Dim dates = from d in listOfDates _
		where d.Year > 2009 _
		select d _
		distinct _ 
		order by d

これは以下のように記述できるようになる。

Dim dates = from d in listOfDates 
		where d.Year > 2009 
		select d 
		distinct  
		order by d

先に言及した VB チームによる説明では、暗黙の行継続に対応していない特定のケースについて取り上げている。

我々はすべてのシナリオをおさえているわけではありません。 この機能に関するコストおよび時間の制約を前提として、労力に見合うだけの価値は提供できるであろう最も一般的なケースをおさえようと努めました。 また我々は明らかに問題につながるようなケースは回避しました。 仮にどこでも暗黙の継続を許容すると決めてしまった場合に起こり得る問題の例を以下に示します。 これらは Lucian Wischik 氏(VB コンパイラチームの一員でもある)による我々の文法に関する分析から持ち出したものです。
With y
	A=x
       .xfield
End With
もし ‘.’ の前で暗黙の継続を許すと、そのピリオドが何に属するものか把握する上で問題が起こるでしょう。 例えば、これは以下のように解釈することができます。
With y
	A=x.xield
End With

Or

With y
        A=x
       .xfield
End With

Channel 9 では Visual Basic コンパイラチームの開発者である Tyler Whitney 氏への素晴らしいインタビューも行っている(リンク)

この記事に星をつける

おすすめ度
スタイル

BT