Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.
Исходная информация - http://forum.sources.ru. Данный дневник сформирован из открытого RSS-источника по адресу http://forum.sources.ru/yandex.php, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты. По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.[Обновить трансляцию]
Соответственно, перед тем, как начинать формировать перечень элементов среза, к отрицательным индексам добавляется длина последовательности.
То есть, a[-1:0:-1] означает в точности то же самое, что и a[len(a)-1:0:-1]
Спасибо!
Вот только сейчас поняла, почему -1.
Ну что стоит в учебнике ясно и чётко об этом написать. Нет, все переписывают друг у друга одно и то же.
В a[-1:0:-1] START тоже меньше STOP, а STEP отрицательный.
В срезах START и STOP ведут себя не совсем так, как в диапазонах (range). В срезах это позиции элементов. -1 означает последний элемент последовательности. Соответственно, перед тем, как начинать формировать перечень элементов среза, к отрицательным индексам добавляется дли на последовательности.
То есть, a[-1:0:-1] означает в точности то же самое, что и a[len(a)-1:0:-1]
Сегодня мы рады представить нововведение, о котором пользователи нередко нас просили — быстрые и безопасные видеозвонки.
Видеозвонки
2020 год показал, что мир нуждается в надежных инструментах для видеосвязи, и сегодня мы запускаем альфа-версию видеозвонков в приложениях для Android и iOS. Чтобы начать видеозвонок, нажмите на кнопку со значком камеры в профиле пользователя. Вы можете переключаться между голосовым звонком и видеозвонком прямо во время разговора, а также переписываться в чатах, не завершая звонка: его можно свернуть в небольшое окно в углу экрана.
P.P.S. И ты сильно недооцениваешь Плюсы. Мне никто не помешает распарсить любую формальную грамматику, которой я научу Плюсовый компилятор в компайл-тайм. Библиотек с поддержкой интерпретации любых скриптовых языков, реальных или выдуманных, хватает. boost::spirit к примеру ещё на C++03 была.
Да все я верно оцениваю. Сам фанател когда-то от плюсов. Речь-то об описании грамматики человеческим языком, а не вынужденными закорючками из boost::spirit. Посмотри как описывается грамматика простейшего калькулятора в дешной либе https://run.dlang.io/is/AYKe5x (запускабельно и можно редактировать код)
и покажи мне аналог на boost::spirit.
Очень хочется посмотреть на метаклассы и концепты в боевом режиме, а не песочнице experimental, но в то же время я их боюсь. Боюсь, что придётся испытать революцию, сравнимую с той, что 18 лет назад испытал после ознакомления с трудом Александреску.
Да ты просто вынырни из плюсов в другие языки и столько революций испытаешь. :D
Теория программирования против сильных связей между сущностями более, чем это необходимо
При чём тут сильные связи? Не знаю, как в твоей сфере, но в вэбе обычно XML/JSON/Protobuf/whatever полученное/переданное сервером сериализуют/десериализуют в DTO (POD) для удобства, а уже его отправляют как параметр запроса в «бизнес-сервис» / принимают как ответ от «бизнес-сервиса», например. Никакого внутреннего состояния у DTO нет, это голые структуры, а не умные объекты.
Connection'ы в вебе не сериализуют (нафига это вообще может понадобится?) и всякие распределённые объекты типа PDO/OLE тоже практически не используют (разве что в сильно кровавом и махровом энтрепрайзе).
Кроме DTO, также подобной сериализации/десериализации (обычно только второе) подвергаются всякие конфиги в тех же JSON/YAML/whatever.
Писать весь этот сугубо утилитарный код для каждого типа структуры — бесполезная трата времени.
Никто, кроме самого класса, не может знать лучше, как сохранить его состояние и как в дальнейшем восстановить.
Это никак не противоречит (полу)автоматической сериализации с возможностью кастомизации (самим же классом).
Цитата
Понимаешь, D_KEY, проблема нынешнего образования в том, что не делается разницы между программированием как наукой и программированием как практическим навыком.
Возможно потому, что нет такой науки, как программирование. Есть CS. Но такое разделение проводится.
NataskaMib: Привет, Меня зовут Наташа. Я и другие девушки ждем вас в онлайн видео трансляции )) http://gg.gg/sexystream 18+)
Там же есть чат-комната, вы можете написать мне)
Проблема в том, что такой код будет дергаться более 1 раза. Первый раз - для того пункта, с которого снимается выделение (или TVI_ROOT), второй раз - для того пункта, куда переключается.
Перечисления по определению являются дискретным входом, для таких арифметические операции просто не определены. Если хочешь доопределить, это другой вопрос, но тут же встаёт новый: зачем оно понадобилось, не баг ли это в архитектуре?
Описанная библиотека совсем не про арифметические операции с ними.
Ото ты не знаешь. Никто, кроме самого класса, не может знать лучше, как сохранить его состояние и как в дальнейшем восстановить.
Никто. Но в over99% случаев подойдёт "вызовем сериализацию всех полей, кроме ...". Писать такое руками не намного более интеллектуальное занятие, чем самому расставлять всякие финализаторы по выходу из скопа вместо того, чтобы заюзать raii. И даже если такая тупая реализация тебе по каким-то причинам не подходит, в нормальных языках ты всегда можешь реализовать её так, как это нужно конкретно для этого класса. Так что возможность написать это нормально без костылей - маст хев.