Mercurial > projects > dynamin
annotate dynamin/core/array.d @ 102:604d20cac836
Add dynamin.core.array and put contains() there.
author | Jordan Miner <jminer7@gmail.com> |
---|---|
date | Tue, 15 May 2012 21:14:48 -0500 |
parents | |
children | 73060bc3f004 |
rev | line source |
---|---|
102
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
1 // Written in the D programming language |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
2 // www.digitalmars.com/d/ |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
3 |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
4 /* |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
5 * The contents of this file are subject to the Mozilla Public License Version |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
6 * 1.1 (the "License"); you may not use this file except in compliance with |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
7 * the License. You may obtain a copy of the License at |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
8 * http://www.mozilla.org/MPL/ |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
9 * |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
10 * Software distributed under the License is distributed on an "AS IS" basis, |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
12 * for the specific language governing rights and limitations under the |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
13 * License. |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
14 * |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
15 * The Original Code is the Dynamin library. |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
16 * |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
17 * The Initial Developer of the Original Code is Jordan Miner. |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
18 * Portions created by the Initial Developer are Copyright (C) 2006-2012 |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
19 * the Initial Developer. All Rights Reserved. |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
20 * |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
21 * Contributor(s): |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
22 * Jordan Miner <jminer7@gmail.com> |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
23 * |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
24 */ |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
25 |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
26 module dynamin.core.array; |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
27 |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
28 /** |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
29 * Tests whether or not the specified item is in the specified array. |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
30 * Returns: true if the specified item is in the array and false otherwise |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
31 * Examples: |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
32 * ----- |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
33 * "Hello".contains('e') == true |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
34 * "Hello".contains('a') == false |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
35 * "".contains('e') == false |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
36 * assert([2, 3, 7].contains(3) == true); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
37 * assert([2, 3, 7].contains(0) == false); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
38 * ----- |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
39 */ |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
40 bool contains(T, U)(T[] arr, U item) { |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
41 foreach(U item2; arr) { |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
42 if(item == item2) |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
43 return true; |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
44 } |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
45 return false; |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
46 } |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
47 |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
48 unittest { |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
49 assert("Hello".contains('e') == true); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
50 assert("Hello".contains('a') == false); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
51 assert("".contains('e') == false); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
52 assert([2, 3, 7].contains(3) == true); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
53 assert([2, 3, 7].contains(0) == false); |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
54 } |
604d20cac836
Add dynamin.core.array and put contains() there.
Jordan Miner <jminer7@gmail.com>
parents:
diff
changeset
|
55 |