Почему в документации на некоторых языках написано «эквивалентно», а не «есть»?
Например, документы Python говорят
itertools.chain(*iterables)...
Эквивалентно :
def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element
Или эта ссылка на C ++find_if :
Поведение этого шаблона функции эквивалентно :
template<class InputIterator, class UnaryPredicate> InputIterator find_if (InputIterator first, InputIterator last, UnaryPredicate pred) { while (first!=last) { if (pred(*first)) return first; ++first; } return last; }
Если это не настоящий код, не могут ли они опубликовать его? И если это фактический код, почему они должны говорить, что это «Эквивалент», а не просто «есть»?
chainон реализован непосредственно в C, поэтому он «эквивалентен» к тому же коду Python, потому что он дает тот же результат, но избегает некоторых накладных расходов при интерпретации этого кода. байткод.
find_ifэто не «» Документация для C ++. Если это так, то приведение кbool(которое вы видите в ответе ниже) будет неправильным.