Я полагаю вопрос был о том как мы в таком же порядке итерируемся как при массиве.
У нас получается либо общего порядка больше нет. Он есть относительный в каждом отдельном массиве, но не общий.
Либо мы как-то храним этот порядок, но тогда это увеличивает расход памяти обратно, а также такой перебор будет совсем не эффективным из-за постоянных прыжков между массивами.
Можно подробнее ?
Чем плоха установка oh my zsh?
В кои-то веки прекрасная техническая статья на Хабре ?
Уже давно можно указать в структуре конструктор без параметров:
Parameterless struct constructors - C# 10.0 draft feature specifications
Как бы давно уже: https://github.com/microsoft/CBL-Mariner
Я полагаю вопрос был о том как мы в таком же порядке итерируемся как при массиве.
У нас получается либо общего порядка больше нет. Он есть относительный в каждом отдельном массиве, но не общий.
Либо мы как-то храним этот порядок, но тогда это увеличивает расход памяти обратно, а также такой перебор будет совсем не эффективным из-за постоянных прыжков между массивами.
Я имел ввиду скажем C/C++ где просто делаем variant , аналогично дела обстоят и в C#/Java когда мы эмулируем алгебраические типы.
Я полагаю и на Rust можно провернуть такое через.
По умолчанию текущее поведение вполне ожидаемо учитывая, что так работает во всех других языках.
Это перевод.
Автор исходного текста открыл для себя что вектор структур менее выгоден по памяти чем набор отдельных векторов с полями структуры.
Для удобной работы с Windows побольше надо будет :) windows-rs strings
Внутри всё равно UTF-16. Поэтому вызов UTF-8 будет не таким уж эффективным.
В .NET 7 наконец это гораздо улучшили: ..NET 7 improvements
В некоторых местах автовекторизация LINQ выдаёт лучшую производительность чем цикл for.
Это не система делает, а драйвер Интел. Жутко бесит, к счастью, можно отключить.
А также способствовал популяризации Go.
Так в JS просто есть ещё 3-е кавычки которых нет в Python.
А разве в первом случае в JS не нужны другие кавычки тоже ?
Обратную косую черту можно обойти дополнительной переменной хотя конечно и не так удобно.
Это да, объявить повторно не получится.
Я тут поискал может MyPy как-то может спасти ситуацию но не нашёл.
Разве что с аннотацией typings.Final объявить.
В C# “out var” работает похожим образом и ничего, удобно и читаемо.
Может потому, что есть ещё «out» за который легко зацепиться глазами.
:= довольно логичный, а вот for else на мой взгляд не такой.
Всегда кажется что else это если не прошёлся по коллекции.
C# 12 collection expressions решает эту проблему.
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-12.0/collection-expressions
Уже есть для 2022: AsmDude 2022