BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

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

| 作者: Jonathan Allen フォローする 6 人のフォロワー , 翻訳者 吉田 英人  人のフォロワー 投稿日 2010年1月7日. 推定読書時間: 1分未満 |

原文(投稿日: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 のような古い形式のタプルをサポートするよう検討中である。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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