【D言語】Uniform tuple syntaxについて【DIP32】
DIPに、Uniform tuple syntaxなる提案があります。
このDIPは、要は今まで
tuple(1, 3.14, "hi")
と書いてきたタプルを、
{1, 3.14, "hello"}
と書けるようにしよう、というものです。
さらに、タプルの展開やパターンマッチも提案されています。
// 代入時の展開
auto {x, y} = {1, "hi"}; // x = 1; y = "hi";
{x, y} = {2, "lo"};
// 関数引数の展開
void f({int x, int y}, int r){}
f({2, 3}, 4);
// パターンマッチ
switch(tup)
{
case {1, 2}:
case {$, 2}: // $はワイルドカードかつ入力を捨てる
case {1, x}:
}
見た感じ、すごく便利そうな機能ですね。 個人的には、関数引数の展開がすごく便利そうなので、このDIPがacceptされたら使ってみたいです。
担当:美馬(ただ、色々と問題も出てきそう・・・)