Bazı dillerdeki belgeler neden "is" yerine "eşdeğer" diyor?
Örneğin, Python Belgeleri diyor ki
itertools.chain(*iterables)
...
Eşdeğer :
def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element
Veya bu C ++ referans üzerinde find_if
:
Bu işlev şablonunun davranışı şuna eşittir :
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; }
Gerçek kod bu değilse, gönderemezler mi? Ve eğer gerçek kod ise, neden basitçe "olduğunu" "Eşdeğer" olarak söylemeliler?
chain
, doğrudan C olarak uygulandığını göreceksiniz , bu nedenle aynı sonucu ürettiği için, bu python koduna "eşdeğer" olur, ancak, bu yorumlama işleminin bir miktar ek yükünden kaçınır baytkodu.
find_if
olduğu değil C "" dokümantasyon ++. Öyle olsaydı, oyuncu kadrosubool
(aşağıdaki cevapta gördüğünüz gibi) yanlış olurdu.