Mercurial > projects > dynamin
comparison dynamin/core/array.d @ 113:4636a64afabc default tip
Add reverse() function.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Sat, 19 Jan 2013 21:08:52 -0600 |
parents | 73060bc3f004 |
children |
comparison
equal
deleted
inserted
replaced
112:e1eb6df1cfbd | 113:4636a64afabc |
---|---|
8 * | 8 * |
9 */ | 9 */ |
10 | 10 |
11 module dynamin.core.array; | 11 module dynamin.core.array; |
12 | 12 |
13 import dynamin.core.test; | |
14 import dynamin.core.string; | |
15 | |
13 /** | 16 /** |
14 * Tests whether or not the specified item is in the specified array. | 17 * Returns true if the specified item is in the specified array and false otherwise. |
15 * Returns: true if the specified item is in the array and false otherwise | 18 * |
16 * Examples: | 19 * ## Examples |
17 * ----- | 20 * |
18 * "Hello".contains('e') == true | 21 * assert("Hello".contains('e')); |
19 * "Hello".contains('a') == false | 22 * assert(!"Hello".contains('a')); |
20 * "".contains('e') == false | 23 * assert(!"".contains('e')); |
21 * assert([2, 3, 7].contains(3) == true); | 24 * assert([2, 3, 7].contains(3)); |
22 * assert([2, 3, 7].contains(0) == false); | 25 * assert(![2, 3, 7].contains(0)); |
23 * ----- | |
24 */ | 26 */ |
25 bool contains(T, U)(T[] arr, U item) { | 27 bool contains(T, U)(T[] arr, U item) { |
26 foreach(U item2; arr) { | 28 foreach(U item2; arr) { |
27 if(item == item2) | 29 if(item == item2) |
28 return true; | 30 return true; |
29 } | 31 } |
30 return false; | 32 return false; |
31 } | 33 } |
32 | 34 |
33 unittest { | 35 unittest { |
34 assert("Hello".contains('e') == true); | 36 assert("Hello".contains('e')); |
35 assert("Hello".contains('a') == false); | 37 assert(!"Hello".contains('a')); |
36 assert("".contains('e') == false); | 38 assert(!"".contains('e')); |
37 assert([2, 3, 7].contains(3) == true); | 39 assert([2, 3, 7].contains(3)); |
38 assert([2, 3, 7].contains(0) == false); | 40 assert(![2, 3, 7].contains(0)); |
39 } | 41 } |
40 | 42 |
43 /** | |
44 * Reverses the items in place in the specified array. | |
45 * | |
46 * ## Examples | |
47 * | |
48 * mstring str = "ABCD".dup; | |
49 * str.reverse(); | |
50 * assertEqual(str, "DCBA"); | |
51 * | |
52 */ | |
53 void reverse(T)(T[] arr) { | |
54 for(int i = 0; i < arr.length / 2; ++i) { | |
55 arr[i] = arr[$ - i]; | |
56 } | |
57 } | |
58 | |
59 unittest { | |
60 mstring str; | |
61 str = "ABCD".dup; | |
62 str.reverse(); | |
63 assertEqual(str, "DCBA"); | |
64 str = "ABCDE".dup; | |
65 str.reverse(); | |
66 assertEqual(str, "EDCBA"); | |
67 str = "".dup; | |
68 str.reverse(); | |
69 assertEqual(str, ""); | |
70 } | |
71 |