auto ref find(T1, T2)(T1 required_element, T2 array) {
import std.variant;
foreach (e; array)
if (required_element == e) {
return Variant(e);
}
return Variant("-1_fuckLisperam");
}
void main() {
import std.stdio;
auto a = [1, 5, 9, 43];
auto s = ["cat", "dog", "bar", "foo"];
auto ch = ['a', 'b', 'c', 'd', 'y', 'f'];
auto longDouble = [45.68L, 456.89L, 1.1L, 2.3L, 9.4L, 89.45L];
writeln(find(9, a));
writeln(find("foo", s));
writeln(find!(char, char[])('y', ch));
writeln(find(89.45L, longDouble));
writeln(find(15, a));
}
YXV0byByZWYgZmluZChUMSwgVDIpKFQxIHJlcXVpcmVkX2VsZW1lbnQsIFQyIGFycmF5KSB7CglpbXBvcnQgc3RkLnZhcmlhbnQ7CgoJZm9yZWFjaCAoZTsgYXJyYXkpCgkJaWYgKHJlcXVpcmVkX2VsZW1lbnQgPT0gZSkgewoJCQlyZXR1cm4gVmFyaWFudChlKTsKCQl9CgoJcmV0dXJuIFZhcmlhbnQoIi0xX2Z1Y2tMaXNwZXJhbSIpOwp9Cgp2b2lkIG1haW4oKSB7CglpbXBvcnQgc3RkLnN0ZGlvOwoJCglhdXRvIGEgPSBbMSwgNSwgOSwgNDNdOwoJYXV0byBzID0gWyJjYXQiLCAiZG9nIiwgImJhciIsICJmb28iXTsKCWF1dG8gY2ggPSBbJ2EnLCAnYicsICdjJywgJ2QnLCAneScsICdmJ107CglhdXRvIGxvbmdEb3VibGUgPSBbNDUuNjhMLCA0NTYuODlMLCAxLjFMLCAyLjNMLCA5LjRMLCA4OS40NUxdOwoKCXdyaXRlbG4oZmluZCg5LCBhKSk7Cgl3cml0ZWxuKGZpbmQoImZvbyIsIHMpKTsKCXdyaXRlbG4oZmluZCEoY2hhciwgY2hhcltdKSgneScsIGNoKSk7Cgl3cml0ZWxuKGZpbmQoODkuNDVMLCBsb25nRG91YmxlKSk7Cgl3cml0ZWxuKGZpbmQoMTUsIGEpKTsKfQ==