Pourquoi la documentation de certaines langues dit "équivalent à" plutôt que "est"?
Par exemple, les documents Python disent
itertools.chain(*iterables)
...
Équivalent à:
def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element
Ou cette référence C ++ sur find_if
:
Le comportement de ce modèle de fonction équivaut à:
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; }
Si ce n'est pas le code réel, ne peuvent-ils pas le publier? Et si c'est le code réel, pourquoi doivent-ils dire que c'est "équivalent" plutôt que simplement "est"?
chain
est implémenté directement en C, il est donc "équivalent" à ce code python car il produit le même résultat, mais il évite un peu de surcharge d'interprétation bytecode.
find_if
n'est pas "la" documentation pour C ++. Si c'était le cas, alors le casting versbool
(que vous voyez dans la réponse ci-dessous) serait faux.