Если ваши строки постоянны (как в примере), вы можете использовать литерал ассоциативного массива, но синтаксис не очень приятный:
if (str in ["first"[]:0, "second":0, "third":0])
Я не думаю, что есть вызов библиотеки, который вы можете использовать в D1 Phobos, но алгоритм D2 std.algorithm имеет то, что вы могли бы использовать:
if (count(["first", "second", "third"][], str))
В Tango вы можете использовать общую функцию contains
из tango.text.Util
:
if (contains(["first", "second", "third"][], str))
Обратите внимание, что []
в конце литералов массива требуется, потому что нам нужно передать фрагмент памяти статического массива, а не фактическое значение статического массива по значению.