BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Mono が C# 言語の拡張機能を試験的に導入

Mono が C# 言語の拡張機能を試験的に導入

原文(投稿日:2009/12/28)へのリンク

最新の Microsoft C# 4 拡張機能のサポートが一段落したためだろうか,Mono チームは最近,独自の言語拡張に手を出している。彼らが現在試しているのは,文字列補完と複数戻り値のサポート,という2つの機能だ。

文字列補完 は実際には String.Format のショートカットである。数値のプレースホルダを含む文字列を引数として関数を明示的にコールする代わりに,次例のようにプレースホルダ中の式を参照して文字列を構築するものだ。

var a = 'Hello {name} how are you?';

この例は Miguel de Icaza 氏によるもので,文字列がダブルクォートではなくシングルクォートで囲まれている点に注意が必要だ。この機能の潜在的な問題については,Python や Ruby のユーザがより詳しく知っていると Miguel 氏は考えている。そのため氏は現在,彼らからのフィードバックを募集している。

2つめの言語拡張は タプル (tuple) のサポート である。これは複数戻り値とも呼ばれる。氏のパッチを用いれば,タプルを返却する関数を使って,関数のコールとタプルのアンパックを1行で記述することができる。

Tuple<string, string, string, int, string> ParseUri (string url);
(user, password, host, port, path) = ParseUri (url);

タプルの生成と返却の記述は,見かけ上は代入式のようだ。Miguel 氏はさらにこれを拡張して,配列スライス,列挙,DictionaryEntry のような古い形式のタプルをサポートするよう検討中である。

この記事に星をつける

おすすめ度
スタイル

BT