BT

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

| 作者: Al Tenhundfeld フォローする 0 人のフォロワー , 翻訳者 伊藤 幸博 フォローする 0 人のフォロワー 投稿日 2009年4月22日. 推定読書時間: 2 分 |

原文(投稿日: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 氏への素晴らしいインタビューも行っている(リンク)

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT