module pind.samples.ja.struct_.struct_2; import std.math; struct Test { char c; int i; double d; } void main() { // すべてのメンバーの初期値が指定されている auto t1 = Test('a', 1, 2.3); assert(t1.c == 'a'); assert(t1.i == 1); assert(t1.d == 2.3); // 最後の値が欠落している auto t2 = Test('a', 1); assert(t2.c == 'a'); assert(t2.i == 1); assert(isNaN(t2.d)); // 最後の2つが欠落している auto t3 = Test('a'); assert(t3.c == 'a'); assert(t3.i == int.init); assert(isNaN(t3.d)); // 初期値が指定されていない auto t4 = Test(); assert(t4.c == char.init); assert(t4.i == int.init); assert(isNaN(t4.d)); // 上記と同じ Test t5; assert(t5.c == char.init); assert(t5.i == int.init); assert(isNaN(t5.d)); }