Cur: 2010-08-28 (Sat) 00:56:06 SHOO source Edit
D2.049で加えられる破壊的変更に対応, 間違ってたorz at 2010-08-28 (土) 00:59:42
Line 1: Line 1:
 +TITLE:Appenderによる効率のよい配列への追加
 +// ページタイトルを記入しましょう
 +#navi
 +
 +* 概要 [#q64854c9]
 +std.arrayに含まれるAppenderを利用すると、効率のよい配列への要素追加が行えます。((D2.049))
 +
 +* ポイント [#x64fbac2]
 +割り当ては
 +#code(d,notitle,nooutline,nonumber){{{
 +auto app = appender(ary);
 +}}}
 +
 +配列の変数へのポインタをappenderに渡してやることで生成してくれます。
 +
 +追加は
 +#code(d,notitle,nooutline,nonumber){{{
 +app.put(e);
 +}}}
 +
 +追加後のデータの取得方法は
 +#code(d,notitle,nooutline,nonumber){{{
 +ary = app.data;
 +}}}
 +
 +aryは配列、eはaryの型か、aryの要素の型です。
 +
 +* サンプルコード [#s2ef49ac]
 +#code(d){{{
 +import std.array;
 +import std.stdio;
 +
 +void main() {
 +    string str;
 +    auto app = appender(str);
 +    app.put("xxx");
 +    app.put("XXX");
 +    app.put('a');
 +    app.put('b');
 +    app.put('c');
 +    str = app.data; // 変化は直接strに表れないため、代入しなおします。
 +    writeln(str);
 +    // 特に後始末は考えなくてもよしなにしてくれる
 +}
 +}}}
 +
 +* 実行結果 [#a64c4e8a]
 +#code(console){{{
 +$ dmd -run main
 +xxxXXXabc
 +}}}
 +
 +#navi
 +
 +* 投票とコメント [#h24277de]
 +#vote(大変参考になった,参考になった,あまり参考にならなかった,まったく参考にならなかった,#notimestamp)
 +#pcomment
  

  • Backup diff of SampleCodes/Phobos/range/2(No. All)
    • Cur: 2010-08-28 (Sat) 00:56:06 SHOO
      • D2.049で加えられる破壊的変更に対応, 間違ってたorz at 2010-08-28 (土) 00:59:42

Front page   Edit Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 1164, today: 1, yesterday: 1
メインメニュー

ログイン

ユーザー名:


パスワード:





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

Menu