D 2.0で、純粋な使用するためにはどうすれば以下のような問題点を発見しました。 はD 2.0で遊んでいる間
私は私がこれを動作させることはできません見つけるクラスで文字列配列をラップしよう
:class TestPure
{
string[] msg;
void addMsg(string s)
{
msg ~= s;
}
};
pure TestPure run2()
{
TestPure t = new TestPure();
t.addMsg("Test");
t.addMsg("this.");
return t;
}
addMsg機能が不純であるため、このコードはコンパイルされません。私はTestPureオブジェクトを変更するので、その関数を純粋にすることはできません。 何か不足していますか?それともこの制限はありますか?
次のコンパイルを行います。
pure TestPure run3()
{
TestPure t = new TestPure();
t.msg ~= "Test";
t.msg ~= "this.";
return t;
}
は〜=演算子はMSG列の不純な機能として実装されていませんか?どのようにコンパイラは、run1関数のそれについて不平を言うことはありませんか?
[タグ:pure]タグをクリーンアップしようとしました。時には純粋な仮想関数を参照することがあります。時には[pure](http://beebole.com/pure/) [pure](http://ja.wikipedia.org/wiki/Pure_(programming_language)) - 他のものの中から。しかし、私は[タグ:d2]について何も知らない。私のタグ編集が適切かどうか確認できますか?このタグは[タグ:pure-function]を作成しました。[tag:pure-function]を作成したので、既存のタグを使用する方が良いと思います。 –