Почему в документации на некоторых языках написано «эквивалентно», а не «есть»?
Например, документы 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
(которое вы видите в ответе ниже) будет неправильным.