www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to use the Among method with a string array

reply Andrew Chapman <nycran gmail.com> writes:
Hi all, sorry for the very simple question, but I'm looking at 
the "among" function in std.comparison:

https://dlang.org/phobos/std_algorithm_comparison.html#among

If I have a string array:

string[] fruit = ["apple", "pear", "strawberry"];

How do I use "among" to see if "apple" is present.  E.g.  I want 
to do this:

if ("apple".among(fruit))

However that wont compile - I'm missing something fundamental in 
my knowledge.

It seems fruit has to be a Tuple?  Is there a way to use a string 
array instead?
Sep 16 2017
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Saturday, 16 September 2017 at 11:18:45 UTC, Andrew Chapman 
wrote:
 string[] fruit = ["apple", "pear", "strawberry"];

 How do I use "among" to see if "apple" is present.  E.g.  I 
 want to do this:

 if ("apple".among(fruit))
among doesn't take an array, but rather a list of arguments: "bar".among("foo", "bar", "baz") For searching in an array, you can use canFind: if(fruit.canFind("apple"))
Sep 16 2017
parent Andrew Chapman <nycran gmail.com> writes:
On Saturday, 16 September 2017 at 12:09:28 UTC, Adam D. Ruppe 
wrote:
 On Saturday, 16 September 2017 at 11:18:45 UTC, Andrew Chapman 
 wrote:
 string[] fruit = ["apple", "pear", "strawberry"];

 How do I use "among" to see if "apple" is present.  E.g.  I 
 want to do this:

 if ("apple".among(fruit))
among doesn't take an array, but rather a list of arguments: "bar".among("foo", "bar", "baz") For searching in an array, you can use canFind: if(fruit.canFind("apple"))
Thanks Adam!
Sep 16 2017