構造体の初期化

投稿ツリー


このトピックの投稿一覧へ

なし 構造体の初期化

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/4/18 1:04 | 最終変更
tama  一人前   投稿数: 111
1.aのように関数へと渡すのに,リテラル使えないのって普通ですかね(配列とか出来るしコンパイラの問題?).それと2が通るのに3でコンパイルが通らないのはバグ??
一々変数とか用意するのが面倒なので,一気に書きたいけど上手く行かない^^;

#code(d,nomenu,nonumber){{{
import std.stdio, std.typecons;

alias Tuple!(string, "foo", void delegate(), "bar") VT;
alias Tuple!(string, "foo", string delegate(string), "bar") ST;

void main()
{
void a(VT v) { writefln(v); }

// 1
VT v = {"v" , { } };
writefln(v);

// 1.a
a(v);
//a({"v at a", { } });

string delegate(string) bar = (string s) { return s; };
// 2
ST s1 = {"s1" , bar };
writefln(s1.bar(s1.foo ~ ".bar"));

// 3
/*
ST s2 = {"s2" , (string s) { return s; } };
ST s2 = {"s2" , delegate string(string s) { return s; } };
writefln(s2.bar(s2.foo ~ ".bar"));
*/
}
}}}
投票数:171 平均点:4.68
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu