一部の言語のドキュメントで「ある」ではなく「と同等」と表示されるのはなぜですか?
たとえば、Python Docsは言う
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
(以下の答えで見る)は間違っているでしょう。