lindquist@98: module arrays11; lindquist@98: lindquist@98: void ints() lindquist@98: { lindquist@98: int[] a = [1,2,3,4,5,6]; lindquist@98: {assert(a == a);} lindquist@98: lindquist@98: int[] b = [4,5,6,7,8,9]; lindquist@98: {assert(a != b);} lindquist@98: {assert(a[3..$] == b[0..3]);} lindquist@98: } lindquist@98: lindquist@98: void floats() lindquist@98: { lindquist@98: float[] a = [1.0f, 2.0f, 3.0f, 4.0f]; lindquist@98: {assert(a == a);} lindquist@98: lindquist@98: float[] b = [2.0f, 3.0f, 5.0f]; lindquist@98: {assert(a != b);} lindquist@98: {assert(a[1..3] == b[0..2]);} lindquist@98: } lindquist@98: lindquist@98: struct S lindquist@98: { lindquist@98: int i; lindquist@98: int j; lindquist@98: lindquist@98: int opEquals(S s) lindquist@98: { lindquist@98: return (i == s.i) && (j == s.j); lindquist@98: } lindquist@98: } lindquist@98: lindquist@98: void structs() lindquist@98: { lindquist@98: S[] a = [S(0,0), S(1,0), S(2,0), S(3,0)]; lindquist@98: {assert(a == a);} lindquist@98: S[] b = [S(0,1), S(1,0), S(2,0), S(3,1)]; lindquist@98: {assert(a != b);} lindquist@98: {assert(a[1..3] == b[1..3]);} lindquist@98: lindquist@98: S[2] c = [S(2,0), S(3,1)]; lindquist@98: {assert(c == b[2..$]);} lindquist@98: } lindquist@98: lindquist@98: void main() lindquist@98: { lindquist@98: ints(); lindquist@98: floats(); lindquist@98: structs(); lindquist@98: }