Проверьте, присутствует ли значение в (несортированном) массиве - PullRequest
0 голосов
/ 01 февраля 2019

На языке D оператор in позволяет проверить, присутствует ли значение в отсортированном диапазоне произвольного доступа.

Но если я хочу проверить, присутствует ли значение в несортированном и не произвольном диапазоне доступакак это сделать?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Хотя я согласен с Lupus, что countUntil выполняет свою работу, есть другая функция, которая может иметь меньше накладных расходов и иметь более разумное имя: canFind:

import std.algorithm.searching : canFind;
if (haystack.canFind(needle)) {
    // ...
}
0 голосов
/ 01 февраля 2019

Использование std.algorithm.searching : countUntil

import std.algorithm.searching : countUntil
if (array.countUntil(lookingFor) != -1) {
    // . . .
}

count Until похоже на indexOf во многих других языках.

https://dlang.org/phobos/std_algorithm_searching.html#countUntil

...