Pull to refresh
4
0
Alexander Irbis @BlessMaster

Разработчик

Send message

Как я в другом комментарии написал, можно таки полноценно сравнивать в духе if my_val != None с вариантами без значений. Плюс всегда есть else, хотя он плох по двум причинам. С одной стороны — действительно не так красиво, и хорошо, что есть альтернатива. С другой — если там какое-то запакованное значение, его очень редко нужно игнорировать, поэтому знание о том, что "здесь не вариант А" — мало/редко полезно. Более того, и это самое важное, открытое множество вариантов перечисления — это антипаттерн. Лучше всего обрабатывать все варианты явно, а не полагаться на неизменность (ну, допустим, с некоторыми вроде Option, Result, Either мы себе это можем позволить, потому что они точно никогда не поменяются, но это скорее счастливые исключения). Перечисление может отрефакториться (добавятся варианты) и логика "открытого множества" может неявно поломаться. При полном перечислении вариантов в образце — компилятор нам просто сообщит, что какой-то вариант не обработан, и это — ошибка которую обязательно нужно исправить. При открытом множестве — не будет даже предупреждения. Разве что линтер в очередной раз незамеченный вздохнёт про "место для битья головой", но это не будет ничем отличаться от всех предыдущих раз.

В языке есть поддержка. Варианты без значений можно сравнивать как обычно.


if x == None { /* ... */ }

Варианты со значениями — только через if let Some(_) = x. Просто потому, что здесь уже нужно решать, что мы делаем с запакованным значением: перемещаем, ссылаемся, просто игнорируем. В этом случае отдельный метод if x.is_some() вполне адекватен. Тем более, что его можно использовать в каком-нибудь функциональном контексте вроде it.filter(Option::is_some) или it.filter(Result::is_ok).


Конечно, в части случаев может показаться удобным писать в духе if x is Some. Но это настолько частный случай… Ведь декомпозиция это очень мощный инструмент, здесь и более сложные выражения можно использовать, например: if let Some(Err(_)) = x. Тут над адекватным синтаксисом для is уже стоит хорошо подумать.


А надо ли оно, что-то другое, когда есть уже универсальная декомпозиция, общая и для присваивания, и для матчинга, и для аргументов функций, у которой if let — это лишь частный случай распаковки не всех вариантов?


Может быть. Но над этим нужно действительно хорошо подумать. Первое впечатление "хотелось бы как в ..." может оказаться обманчивым.

Оно ещё и от запуска к запуску может меняться.
А может стабильно работать месяцами.
Если тестирование налажено хорошо на всех уровнях повезёт, то странность в обработке данных возможно заметить до продакшна.
Падение приложения вместо порчи важных данных можно считать большой удачей.

Описание в начале достаточно ограничено и стереотипно, но "все те, для кого IT — не просто две буквы алфавита" — очень расширяет спектр тем.
Попробуйте посмотреть на это под углом растущей роли технологий в вопросах здоровья.
"IT" давно уже штурмует тему "био-". От обслуживания медицинских систем и баз знаний до ещё не родившегося, но уже вот-вот, биоконструирования всего и вся.
Если есть проблема, затрагивающая порядка половины человеческой популяции, то айтишникам здесь определённо есть, что сказать.

Дело в том, что это потребует какой-то конвертации в обычные объекты при доступе и всё преимущество сведётся на "нет", потребуются специальные методы работы с такими массивами, дублирующие основные механизмы языка, чтобы избежать преобразований, что очень всё усложнит. numpy получает выгоду за счёт того, что данные в его массивах обрабатываются уже готовыми внешними математическими библиотеками, применяемыми не только в Python. Проще тогда сам numpy уже затащить в стандартную библиотеку, но, наверно, это никому и не нужно, вроде итак всем хорошо.


Посмотрите в сторону PyPy — они активно работают именно в этом направлении, начиная с того, что сам PyPy пишется на RPython — типизированном подмножестве Python, заканчивая тем, что их JIT-компилятор умеет в векторизацию и как итог numPyPy способна конкурировать с numpy по производительности. Хотя я давненько уже не следил за их прогрессом, не знаю, насколько это "готово в продакшн".

Но "из" в украинском означает также, что и "из" в русском. Не со всяким падежом это чередование можно применить не ломая смысл.

Кстати, интересно отметить, что язык, по этому авторитетному источнику, соответственно родственен обоим: и language, и tongue.

Тогда ударение на "а" не нормально "ни тут, ни там".

Вроде бы должно быть наоборот?
Россияне тяготеют к ударению на а, украинцы — на и?

Вы заменили слово Украина на "окраина". Вы уточнили, что придаёте именно этот смысл. Разумеется украинцы не довольны. Ну примерно так, как русские недовольны, когда Россию называют "Московией, присвоившей название россия", "Ордой" или другими обидными штуками, заканчивающимися на "-стан".

Совершенно не очевидно. То есть смысл вполне себе может быть не "границ", а каких-то конкретных "территорий". Что вполне себе прослеживается по некоторым другим применениям слова в летописях, особенно "и всъ краин русские от Вильна аж до жродел Неманов" — это стольный-то град "окраина"?


Так же не очевидно, что применение этого слова с таким смыслом отрицает применение его с другим смыслом (ну примерно как в современном русском край чего-то не отрицает край-территорию или точно с теми же двумя смыслами слово "сторона"/"страна").


Применение вполне себе аналогичное русскому слову "предел", которое тоже может означать и границу, и территорию.


Современное применение "в рубежах", "в границах" имеет похожий смысл обозначения конкретной территории. А "в краинах" как в летописях уже вообще ни с каким смыслом не говорят, и звучит странно. Язык эволюционирует. Русский эволюционировал по-своему, белорусский — по-своему, украинский — по-своему. Судить старый украинский мерками современного русского — слишком натянуто.

Да, действительно, корректней было сказать просто про общее происхождение.


Насчёт взаимозаменяемости — хорошо, я не буду спорить с авторитетным источником, мало ли что послужило причиной утвердительного ответа о взаимозаменяемости и кто кого недопонял, или действительно какая-то группа носителей при такой широкой распространённости альтернативно употребляет слова — возможности переспросить, к сожалению, нет.

Претензии ко всем, кто называет. Особенно в контексте территориальных претензий.


Но, полагаю, в диалогах с другими Вы не участвуете или не наблюдаете, и в данном случае допускаете "систематическую ошибку выжившего".

Оба слова употребляются равноправно. И оба в мужском роде.

У нас на востоке применяют оба слова, но чаще "тремпель".
Но это всё примерно как "мивина" или "доширак", она же "китайская вермишель".

История Московского царства начинается с Юрия Долгорукого, который княжил в Ростово-Суздальском княжестве и объявил его независимость от Киева. Этот же князь основал Москву, ставшую впоследствии столицей. Этот же князь впоследствии ухитрился занять в Киеве великокняжеский престол (но своё самодержавное управление в Ростово-Суздальском княжестве не отменил и княжество обратно под Киев не вернул). Из Киева в своё время столицу перенесли в Вильну. Поэтому впоследствии Московское княжество спорило с Литовским о том, кто тут на самом деле русский и кто здесь князь "всея Руси".

Да, Вы правы. Действительно, Конституционный Суд признал его принятие нарушающим Конституцию и отменил в 2018-м из-за множественных нарушений процедуры принятия и отсутствия необходимого для этого большинства. Хм, я отстал от жизни :-)


Интересный факт: уже после этого областные советы неоднократно принимали собственные решения о региональном языке, при том, что закон уже не действует.

Очевидно, что украинцами, иначе бы мы обсуждали другое слово.

Аргумент "перешло из прилагательного в существительное" в данном случае мало помогает, поскольку утверждает, что изначально это прилагательное, что и требовалось доказать.

Ну, Тёма именно тут ещё оставляет возможность применять ё, где-то я встречал его утверждения, где он совсем против. Ну и я лучшего примера с лёту не нагуглил, но в своё время я сталкивался именно с такими людьми, которые полностью "ё" отрицали. Так то, мы "прекрасно" читаем текст, где народ ухитряется в каждом слове по несколько ошибок совершать — язык содержит избыточное кодирование, по которому можно восстанавливать смысл, в том числе дополняя это знанием контекста.

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity