++C++; // 未確認飛行 C ブログ

http://ufcpp.net/

VS 2014 CTP 4

leave a comment »

Visual Studio “14” CTP 4 がリリースされたそうです

主な更新は ASP.NET vNext がらみで、例えば「VS上でのデザイン時、ビルドを実行する前から常にコンパイルされた状態にすることでデバッグ実行のパフォーマンスをよくする」みたいなのとかがリリースノートに書かれています。それと、RyuJIT(新しい64bit .NET JITコンパイラー)が正式搭載されたみたい。

まあ、その辺りはいいとして。個人的な興味はC#コンパイラーの進捗なわけですが。

先日の記事、C# vNext、そろそろ仕様fixで書きましたが、つい最近以下のような決定がありました。

  • out (「次」には入らず、さらにその次行き。今のCTPに仮実装が入っているけども、これから抜く)
    • primary constructors
    • declaration expressions
  • in (現在のCTPには実装されていないけども、「次」までには入れる)
    • string interpolation

が、これはCTP 4には反映されていないみたい。primary constructorsとかは使えるし、string interpolationは使えない。

あと、たぶん、CTP 3からの差分だと、

  • index付き初期化子(var dic = new Dictionary<string, int> { [“one”] = 1, [“two”] = 2 }; みたいなの)
  • 構造体のパラメーターなしのコンストラクター (struct X { public X() { } } とか struct X { int x = 10; } みたいなの)

が書けるようになってます。

それから、ふと気づいたんですけども、ASP.NET vNext付属の(kproj方式の)コンソールアプリと、これまでのコンソールアプリで挙動が違うみたい。以下のような。

全く同じソースコードのコピペなんですが、左から順に、

  • 既存コンソールアプリ(<LangVersion>experimental</LangVersion>指定あり) … エラーなし
  • ASP.NET vNext付属(kproj)コンソールアプリ … エラーなし
  • 既存コンソールアプリ(LangVersion指定なし) … 引数なしコンストラクターがエラーに

というもの。kprojのやつには既定でexperimentalオプションが指定されているのか、それとも使っているRoslynのバージョンが違うのか。

ちなみに、書いたコードはこんなの → https://gist.github.com/ufcpp/51bbca95d4fe76a5f0cf

広告

Written by ufcpp

2014年10月7日 @ 22:53

カテゴリー: C#

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。