Dの配列IDを理解するのに問題があります。
Object s = null; // or new Object
auto a = [s];
auto b = [s];
writeln(a is b); // > false
writeln(a == b); // > true
これはfalse
、次に、を出力しtrue
ます。に問題はありません==
が、D2refには次のように記載されています。
静的配列と動的配列の場合、IDは、同じ配列要素と同じ数の要素を参照するものとして定義されます。
これは私が経験する行動と矛盾します。両方に1つの要素がありa
、それらは同一である必要があります。私は何かを誤解していますか?b
is s
編集:私は間違って、同じ配列要素is
は、Dでの同一性比較の種類のモデルの点で同等に比較されることを意味すると信じていました。