Dlaczego w dokumentacji niektórych języków jest napisane „odpowiednik” zamiast „jest”?
Na przykład, mówią Python Docs
itertools.chain(*iterables)
...
Odpowiednik :
def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element
Lub to odwołanie do C ++ nafind_if
:
Zachowanie tego szablonu funkcji jest równoważne z:
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; }
Jeśli to nie jest prawdziwy kod, czy nie mogą go opublikować? A jeśli jest to rzeczywisty kod, dlaczego muszą powiedzieć, że to „ekwiwalent”, a nie po prostu „jest”?
chain
jest on zaimplementowany bezpośrednio w C, więc jest „równoważny” temu kodowi Pythona, ponieważ daje ten sam wynik, ale unika się narzutu związanego z interpretacją tego kod bajtowy.
find_if
jest dokumentacją dla C ++. Gdyby tak było, rzutowanie na (co widać w odpowiedzi poniżej) byłoby błędne.bool