RU

Ленивый LINQ: разбираем yield и ленивые вычисления по кирпичикам. Часть 2

В первой части мы успешно вскрыли чёрный ящик LINQ: написали  Where  вручную, разобрались, как компилятор превращает  yield return &n…

.netlinqyieldc#итераторыкомпиляторленивые вычисленияотложенное выполнениеienumerabledeffered execution
Habr
RU

Ленивый LINQ: разбираем yield и ленивые вычисления по кирпичикам. Часть 2

В первой части мы успешно вскрыли чёрный ящик LINQ: написали Where вручную, разобрались, как компилятор превращает yield return в конечные автоматы,…

.netlinqyieldc#компиляторитераторыленивые вычисленияотложенное выполнениеienumerabledeffered execution
Habr
RU

Ленивый LINQ: разбираем yield и ленивые вычисления по кирпичикам

Каждый C#‑разработчик писал numbers.Where(x => x > 10).Select(x => x * 2)  — и удивлялся, узнав, что эта строчка ничего не в…

C#LINQyield.NETотложенные вычисленияdeffered executionитераторыIEnumerableленивые вычислениякомпилятор
Habr
RU

Полный гайд по dunder-методам в Python (от новичка до профи)

В Python всё — объект. Но как язык понимает, что делать при сложении двух классов через +, вызове len() или обращении к несуществующему атрибуту? Вс…

ythonООПdunder-методымагические методыметапрограммированиедескрипторыитераторыгенераторыконтекстные менеджерыPython 3