# HG changeset patch # User Jordan Miner # Date 1358651332 21600 # Node ID 4636a64afabc36195575e562a1e1b1bb816c8a36 # Parent e1eb6df1cfbd18ebccc050b90b96cec60e1672e1 Add reverse() function. diff -r e1eb6df1cfbd -r 4636a64afabc dynamin/core/array.d --- a/dynamin/core/array.d Sat Jan 19 20:57:58 2013 -0600 +++ b/dynamin/core/array.d Sat Jan 19 21:08:52 2013 -0600 @@ -10,17 +10,19 @@ module dynamin.core.array; +import dynamin.core.test; +import dynamin.core.string; + /** - * Tests whether or not the specified item is in the specified array. - * Returns: true if the specified item is in the array and false otherwise - * Examples: - * ----- - * "Hello".contains('e') == true - * "Hello".contains('a') == false - * "".contains('e') == false - * assert([2, 3, 7].contains(3) == true); - * assert([2, 3, 7].contains(0) == false); - * ----- + * Returns true if the specified item is in the specified array and false otherwise. + * + * ## Examples + * + * assert("Hello".contains('e')); + * assert(!"Hello".contains('a')); + * assert(!"".contains('e')); + * assert([2, 3, 7].contains(3)); + * assert(![2, 3, 7].contains(0)); */ bool contains(T, U)(T[] arr, U item) { foreach(U item2; arr) { @@ -31,10 +33,39 @@ } unittest { - assert("Hello".contains('e') == true); - assert("Hello".contains('a') == false); - assert("".contains('e') == false); - assert([2, 3, 7].contains(3) == true); - assert([2, 3, 7].contains(0) == false); + assert("Hello".contains('e')); + assert(!"Hello".contains('a')); + assert(!"".contains('e')); + assert([2, 3, 7].contains(3)); + assert(![2, 3, 7].contains(0)); } +/** + * Reverses the items in place in the specified array. + * + * ## Examples + * + * mstring str = "ABCD".dup; + * str.reverse(); + * assertEqual(str, "DCBA"); + * + */ +void reverse(T)(T[] arr) { + for(int i = 0; i < arr.length / 2; ++i) { + arr[i] = arr[$ - i]; + } +} + +unittest { + mstring str; + str = "ABCD".dup; + str.reverse(); + assertEqual(str, "DCBA"); + str = "ABCDE".dup; + str.reverse(); + assertEqual(str, "EDCBA"); + str = "".dup; + str.reverse(); + assertEqual(str, ""); +} +