что значит два вопросительных знака

Что означают два знака вопроса в С#?

Перейдите по этой строке кода:

Что означают две вопросительные знаки, это какой-то тройственный оператор?
Трудно найти в Google.

Спасибо всем, вот самое краткое объяснение, которое я нашел на сайте MSDN:

который далее расширяется до:

По-английски это означает: «Если то, что слева, не равно нулю, используйте это, иначе используйте то, что справа».

Обратите внимание, что вы можете использовать любое количество из них в последовательности. Следующее утверждение назначит первому ненулевому номеру Answer# Answer (если все ответы нулевые, то Answer нулевой):

Также стоит упомянуть, хотя приведенное выше расширение концептуально эквивалентно, результат каждого выражения оценивается только один раз. Это важно, если, например, выражение является вызовом метода с побочными эффектами. (Благодарим @Joey за указание на это.)

Просто потому, что никто еще не сказал волшебные слова: это оператор нулевой коалесценции. Он определен в разделе 7.12 спецификации С# 3.0.

Это очень удобно, особенно из-за того, как он работает, когда он используется несколько раз в выражении. Выражение вида:

Кроме того, если тип d не является нулевым, тип всего выражения также не является нулевым.

Это нулевой оператор слияния.

Да, почти невозможно искать, если вы не знаете, как это называется! 🙂

РЕДАКТИРОВАТЬ: И это классная особенность из другого вопроса. Вы можете связать их

?? существует, чтобы предоставить значение для типа с нулевым значением, когда значение равно null. Итак, если formsAuth имеет значение null, он вернет новый FormsAuthenticationWrapper().

что значит два вопросительных знака. Смотреть фото что значит два вопросительных знака. Смотреть картинку что значит два вопросительных знака. Картинка про что значит два вопросительных знака. Фото что значит два вопросительных знака

Два знака вопроса (??) указывают на то, что это оператор объединения.

Оператор объединения возвращает первое значение NON-NULL из цепочки. Вы можете увидеть это видео на YouTube, которое демонстрирует практически все это.

Но позвольте мне добавить больше к тому, что говорит видео.

Если вы видите английское значение объединения, оно говорит: «объединяйтесь». Например, ниже приведен простой объединяющий код, который объединяет четыре строки.

Проще говоря, оператор Coalescing возвращает первое значение NON-NULL из цепочки.

Ничего опасного в этом нет. На самом деле это красиво.
Вы можете добавить значение по умолчанию, если это желательно, например:

CODE

Это короткая рука для тернарного оператора.

Или для тех, кто не делает тройной:

Только для вашего удовольствия (зная, что вы все парни С#;).

Я думаю, что он возник в Smalltalk, где он существует уже много лет. Он определяется там как:

в UndefinedObject (aka nil class):

Есть и оценка (?) и неоценивающих версий (??) этого.

Он часто встречается в методах getter для lazy-initialized private (instance) переменных, которые остаются нулевыми до тех пор, пока они действительно не нужны.

Некоторые из примеров здесь получения значений с использованием коалесценции являются неэффективными.

Что вы действительно хотите:

Это предотвращает воссоздание объекта каждый раз. Вместо частной переменной, остающейся пустой, и создания нового объекта по каждому запросу, это обеспечивает приватную переменную, если новый объект создан.

Как правильно указывалось в многочисленных ответах, это «оператор слияния нулей» (??), о котором можно также упомянуть его двоюродного брата «Оператор с нулевым условием» (?. Или ? [), Который является оператором, который много раз он используется в сочетании с ??

Используется для проверки на нулевое значение перед выполнением операции доступа к члену (?.) Или индекса (? [). Эти операторы помогают вам написать меньше кода для обработки нулевых проверок, особенно для спуска в структуры данных.

по-старому без ? и ?? делать это

что более многословно и громоздко.

Я прочитал целую эту тему и многие другие, но я не могу найти столь же полный ответ, как это.

С помощью которого я полностью понял «зачем использовать?» и когда использовать? и как использовать.

Основы коммуникаций Windows, выпущенные Craig McMurtry
ISBN 0-672-32948-4

Типы недопустимых значений

Язык программирования С# предоставляет сокращенный синтаксис для объявления типов
построенный из System.Nullable. Этот синтаксис позволяет сокращать:

Компилятор не позволит одному из способов присвоить значение типа значения NULL для обычного типа значений следующим образом:

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

Второй оператор вызовет исключение, поскольку любая попытка
доступ к свойству System.Nullable.Value является недопустимой операцией, если тип
построенный из System.Nullable, не было присвоено допустимое значение T, которое в этом случае не произошло.

Одним из правильных способов присвоения значения типа значения NULL для обычного типа значений является использование свойства System.Nullable.HasValue для определения того, было ли допустимое значение T присвоено типу значения NULL:

Другим вариантом является использование этого синтаксиса:

Источник

Что означают два знака вопроса в С#?

Перейдите по этой строке кода:

Что означают две вопросительные знаки, это какой-то тройственный оператор? Трудно найти в Google.

ОТВЕТЫ

Ответ 1

который далее расширяется до:

По-английски это означает: «Если то, что слева, не равно нулю, используйте это, иначе используйте то, что справа».

Обратите внимание, что вы можете использовать любое количество из них в последовательности. Следующее утверждение назначит первому ненулевому номеру Answer# Answer (если все ответы нулевые, то Answer нулевой):

Также стоит упомянуть, хотя приведенное выше расширение концептуально эквивалентно, результат каждого выражения оценивается только один раз. Это важно, если, например, выражение является вызовом метода с побочными эффектами. (Благодарим @Joey за указание на это.)

Ответ 2

Просто потому, что никто еще не сказал волшебные слова: это оператор нулевой коалесценции. Он определен в разделе 7.12 спецификации С# 3.0.

Это очень удобно, особенно из-за того, как он работает, когда он используется несколько раз в выражении. Выражение вида:

Кроме того, если тип d не является нулевым, тип всего выражения также не является нулевым.

Ответ 3

Это нулевой оператор слияния.

Да, почти невозможно искать, если вы не знаете, как это называется! 🙂

РЕДАКТИРОВАТЬ: И это классная особенность из другого вопроса. Вы можете связать их

Ответ 4

Спасибо всем, вот самое краткое объяснение, которое я нашел на сайте MSDN:

Ответ 5

?? существует, чтобы предоставить значение для типа с нулевым значением, когда значение равно null. Итак, если formsAuth имеет значение null, он вернет новый FormsAuthenticationWrapper().

Ответ 6

что значит два вопросительных знака. Смотреть фото что значит два вопросительных знака. Смотреть картинку что значит два вопросительных знака. Картинка про что значит два вопросительных знака. Фото что значит два вопросительных знака

Два знака вопроса (??) указывают на то, что это оператор объединения.

Оператор объединения возвращает первое значение NON-NULL из цепочки. Вы можете увидеть это видео на YouTube, которое демонстрирует практически все это.

Но позвольте мне добавить больше к тому, что говорит видео.

Если вы видите английское значение объединения, оно говорит: «объединяйтесь». Например, ниже приведен простой объединяющий код, который объединяет четыре строки.

Проще говоря, оператор Coalescing возвращает первое значение NON-NULL из цепочки.

Ответ 7

Ответ 8

Это короткая рука для тернарного оператора.

Или для тех, кто не делает тройной:

Ответ 9

Ничего опасного в этом нет. На самом деле это красиво. Вы можете добавить значение по умолчанию, если это желательно, например:

CODE

Ответ 10

Ответ 11

Только для вашего удовольствия (зная, что вы все парни С#;).

Я думаю, что он возник в Smalltalk, где он существует уже много лет. Он определяется там как:

в UndefinedObject (aka nil class):

Есть и оценка (?) и неоценивающих версий (??) этого.
Он часто встречается в методах getter для lazy-initialized private (instance) переменных, которые остаются нулевыми до тех пор, пока они действительно не нужны.

Ответ 12

Некоторые из примеров здесь получения значений с использованием коалесценции являются неэффективными.

Что вы действительно хотите:

Это предотвращает воссоздание объекта каждый раз. Вместо частной переменной, остающейся пустой, и создания нового объекта по каждому запросу, это обеспечивает приватную переменную, если новый объект создан.

Ответ 13

Как правильно указывалось в многочисленных ответах, это «оператор слияния нулей» (??), о котором можно также упомянуть его двоюродного брата «Оператор с нулевым условием» (?. Или ? [), Который является оператором, который много раз он используется в сочетании с ??

Используется для проверки на нулевое значение перед выполнением операции доступа к члену (?.) Или индекса (? [). Эти операторы помогают вам написать меньше кода для обработки нулевых проверок, особенно для спуска в структуры данных.

по-старому без ? и ?? делать это

что более многословно и громоздко.

Ответ 14

Примечание:

Я прочитал целую эту тему и многие другие, но я не могу найти столь же полный ответ, как это.

С помощью которого я полностью понял «зачем использовать?» и когда использовать? и как использовать.

Источник:

Основы коммуникаций Windows, выпущенные Craig McMurtry ISBN 0-672-32948-4

Типы недопустимых значений

Язык программирования С# предоставляет сокращенный синтаксис для объявления типов построенный из System.Nullable. Этот синтаксис позволяет сокращать:

Компилятор не позволит одному из способов присвоить значение типа значения NULL для обычного типа значений следующим образом:

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

Второй оператор вызовет исключение, поскольку любая попытка доступ к свойству System.Nullable.Value является недопустимой операцией, если тип построенный из System.Nullable, не было присвоено допустимое значение T, которое в этом случае не произошло.

Вывод:

Одним из правильных способов присвоения значения типа значения NULL для обычного типа значений является использование свойства System.Nullable.HasValue для определения того, было ли допустимое значение T присвоено типу значения NULL:

Другим вариантом является использование этого синтаксиса:

Ответ 15

Это оператор слияния, который работает аналогично троичному оператору.

Еще один интересный момент для этого: «Обнуляемый тип может содержать значение или он может быть неопределенным». Поэтому, если вы попытаетесь назначить тип значения, допускающий значение NULL, для типа, не допускающего значения NULL, вы получите ошибку времени компиляции.

Так сделать это с помощью?? оператор:

Ответ 16

Ответ 17

?? Оператор называется оператором нуль-слияния. Возвращает левый операнд, если операнд не равен нулю; в противном случае он возвращает правый операнд.

Источник

О стандарте ECMAScript и развитии JavaScript

что значит два вопросительных знака. Смотреть фото что значит два вопросительных знака. Смотреть картинку что значит два вопросительных знака. Картинка про что значит два вопросительных знака. Фото что значит два вопросительных знака Если вы уже знакомы с особенностями деятельности рабочей группы ECMA TC39, с тем, как она осуществляет отбор и обработку предложений о совершенствовании JavaScript, вы вполне можете пропустить этот раздел. Если же вы из тех, кому интересно об этом узнать — вот краткий обзор того, чем занимается TC39.

JavaScript — это реализация стандарта, называемого ECMAScript, который был создан для стандартизации реализаций языка, которые появились в ранние годы существования веб-браузеров.

Существует восемь редакций стандарта ECMAScript и семь релизов (четвёртая редакция стандарта не выходила, после третьей сразу идёт пятая). Разработчики JavaScript-движков приступают к реализации новшеств языка после выхода стандарта. Здесь можно увидеть, что не каждый движок реализует все возможности, при этом некоторым движкам для введения новшеств требуется больше времени, чем другим. Хотя такое положение дел и не идеально, это, всё же, лучше, чем полное отсутствие стандартов.

Предложения

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

Процесс рассмотрения предложений состоит из пяти шагов, описанных в этом документе. В самом начале предложение находится в состоянии черновика (strawman), это то же самое, что и Stage 0. На этом шаге предложение либо ещё не представлено техническому комитету, либо оно ещё не отвергнуто, но пока ещё не соответствует критериям, позволяющим перейти к следующему этапу согласования. Те возможности, о которых мы будем говорить ниже, уже прошли Stage 0.

Мне хотелось бы порекомендовать читателям избегать использования в продакшне новшеств JS, предложения, описывающие которые, находятся на этапе Stage 0. Лучше дождаться перехода их к более стабильным этапам согласования. Цель этой рекомендации заключается в том, чтобы помочь вам избежать проблем в том случае, если предложение будет отвергнуто или окажется очень сильно изменённым.

Система тестирования

Материалы, в которых рассказывают о новых возможностях языков программирования, часто содержат фрагменты кода, вырванные из контекста. Иногда эти возможности используются для создания неких учебных приложений. Однако, ни того, ни другого мы делать здесь не будем. Так как я — большой поклонник TDD, я полагаю, что лучший способ изучения некоей новой технологии заключается в её тестировании.

Мы будем использовать здесь, для освоения описываемых возможностей JS, то, что Джим Ньюкирк называет обучающими тестами. Такие тесты построены не на утверждениях о коде, написанном на некоем языке. Они построены на анализе утверждений, касающихся самого языка. Тот же подход может оказаться полезным и при изучении API сторонних разработчиков, и при освоении любой возможности языка.

Транспиляторы

Если вы не знакомы с транспиляторами, то у вас, возможно, возникнет вопрос о том, как мы собираемся использовать возможности языка, которые пока не реализованы. Тут надо отметить, что JavaScript постоянно развивается, а для реализации в распространённых движках его новых возможностей, интересных программистам, нужно время. В результате в экосистеме JS существует такое понятие, как транспиляторы.

Они позволяют преобразовывать код, написанный на JS с использованием новейших возможностей, которые, например, ещё не включены в стандарты и не реализованы популярными движками, в JS-код, который понимают существующие среды выполнения JavaScript-программ. Это позволят, например, использовать в коде даже предложения уровня Stage 0, а то, что получится после обработки кода транспилятором, можно будет выполнить, например, в современных браузерах или в среде Node.js. Делается это путём преобразования нового кода таким образом, что он, для среды исполнения, выглядит как код, написанный на одной из поддерживаемых ей версий JS.

Одним из самых популярных JavaScript-транспиляторов является Babel, совсем скоро мы поговорим о том, как им пользоваться.

Подготовка рабочей среды

Если вы хотите самостоятельно повторить всё то, о чём мы будем говорить — вы можете это сделать, настроив npm-проект и установив необходимые зависимости. Предполагается, что сейчас у вас уже установлены Node.js и NPM.

Для того чтобы подготовиться к нашим экспериментам, выполните следующую команду, находясь в отведённой для этих экспериментов директории:

Затем добавьте следующее в файл package.json :

Теперь вы готовы к тому, чтобы писать тесты, исследующие новые возможности JS.

В ходе написания приложений на JavaScript мы постоянно работаем с объектами. Однако иногда эти объекты не имеют той структуры, которой мы от них ожидаем. Вот, например, объект с данными. Подобный объект можно получить, скажем, в результате запроса к базе данных или при обращении к некоему API.

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

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

А вот как опциональные последовательности работают при применении их для доступа к элементам массивов:

Выражения не будут выполнены, если в цепочке что-то не так. Если говорить о внутренней реализацией этого механизма, то наше выражение преобразуется примерно в следующее:

▍Оператор. и производительность

Вот несколько распространённых операций, с которыми можно встретиться в процессе работы с JavaScript. Обычно они выглядят как единое выражение, смысл которого заключается в следующем:

Можно встретить и неграмотно написанный вариант такого выражения:

Это выражение аналогично такому:

3. Оператор |>

В функциональном программировании есть такое понятие, как композиция. Это — действие, представляющее собой объединение в цепочку нескольких вызовов функций. Каждая функция принимает, в качестве входных данных, выходные данные предыдущей функции. Вот пример композиции, подготовленный средствами обычного JavaScript:

Подобное распространено настолько широко, что средства композиции функций существуют во множестве библиотек, поддерживающих функциональное программирование, например, в таких, как lodash и ramda.

Цель появления этого оператора заключается в том, чтобы улучшить читаемость цепочек вызовов функций. Кроме того, в будущем, этот оператор найдёт применение в конструкциях частичного применения функций. Сейчас это можно сделать следующим образом:

Разобравшись с основами, напишем тесты, разместив их в файле pipeline-operator.test.js :

Итоги

Уважаемые читатели! Как вы относитесь к появлению новых возможностей JS, о которых мы рассказали?

Источник

Что означают два вопросительных знака вместе в C #?

Просмотрите эту строку кода:

Что означают два вопросительных знака, это какой-то тернарный оператор? Сложно поискать в гугле.

18 ответов

Это очень удобно, особенно из-за того, как работает при многократном использовании в выражении. Выражение формы:

Кроме того, если тип d не допускает значения NULL, тип всего выражения также не допускает значения NULL.

Всем спасибо, вот самое краткое объяснение, которое я нашел на сайте MSDN:

что значит два вопросительных знака. Смотреть фото что значит два вопросительных знака. Смотреть картинку что значит два вопросительных знака. Картинка про что значит два вопросительных знака. Фото что значит два вопросительных знака

Два вопросительных знака (??) указывают на то, что это оператор объединения.

Оператор объединения возвращает первое значение NON-NULL из цепочки. Вы можете посмотреть это видео на YouTube, которое демонстрирует все на практике.

Но позвольте мне добавить больше к тому, что говорится в видео.

Если вы видите английское значение слияния, оно означает «объединяться вместе». Например, ниже приведен простой код объединения, который объединяет четыре строки в цепочку.

Проще говоря, оператор объединения возвращает первое значение NON-NULL из цепочки.

?? предназначен для предоставления значения для типа, допускающего значение NULL, когда значение равно NULL. Итак, если formAuth имеет значение null, он вернет новый FormsAuthenticationWrapper ().

Это сокращение от тернарного оператора.

Или для тех, кто не занимается тройным:

Ничего опасного в этом нет. На самом деле это красиво. Вы можете добавить значение по умолчанию, если это желательно, например:

Используется для проверки нулевого значения перед выполнением операции доступа к члену (?. ) или индексации (? [). Эти операторы помогают вам писать меньше кода для обработки нулевых проверок, особенно для спуска в структуры данных.

Что более многословно и громоздко.

Только для вашего развлечения (зная, что вы все ребята из C # ;-).

Я думаю, что он зародился в Smalltalk, где он существует уже много лет. Там он определяется как:

В UndefinedObject (он же класс nil):

Существуют как оценочные (?), Так и неоценочные версии (??).
Это часто встречается в методах получения для приватных (экземпляров) переменных с отложенной инициализацией, которые остаются равными нулю до тех пор, пока они действительно не понадобятся.

Некоторые из приведенных здесь примеров получения значений с помощью объединения неэффективны.

Что вам действительно нужно:

Это предотвращает повторное создание объекта каждый раз. Вместо того, чтобы закрытая переменная оставалась нулевой и новый объект создавался при каждом запросе, это гарантирует, что закрытая переменная назначается, если создается новый объект.

Это нулевой оператор объединения, который работает аналогично тернарному оператору.

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

Это нулевой оператор объединения.

Да, почти невозможно найти, если не знаешь, как это называется! 🙂

РЕДАКТИРОВАТЬ: И это классная функция из другого вопроса. Вы можете связать их.

Устаревший нулевой тест:

Используя оператор Null Coalescing, это можно записать:

Который также можно записать с сокращенным синтаксисом:

Некоторым он кажется более читаемым и лаконичным.

Проще говоря, два вопросительных знака называются «оператором объединения», который возвращает первое ненулевое значение из цепочки.

Например, если вы получаете значения из объекта, допускающего значение NULL, в переменной, не допускающей значения NULL, вы можете использовать этот оператор. т.е.

Примечание.

Я прочитал всю эту и многие другие ветки, но не могу найти столь подробного ответа, как этот.

Источник:

Основа коммуникации Windows, выпущенная Крейгом Макмертри ISBN 0-672-32948-4

Типы значений, допускающие значение NULL

Компилятор предотвратит попытку присвоить значение типа значения, допускающего значение NULL, обычному типу значения следующим образом:

Это не позволяет сделать это, потому что тип значения, допускающий значение NULL, может иметь значение NULL, которое он действительно имел бы в этом случае, и это значение не может быть присвоено обычному типу значения. Хотя компилятор разрешил этот код,

Заключение:

Источник

Поиск ответа

Вопрос № 305146

Ответ справочной службы русского языка

Ответ справочной службы русского языка

Две точки на конце предложения не ставятся, а если после сокращения идет текст в скобках? Например: Стоимость аренды — 10000 р./мес. (плюс вода и электричество по счетчикам)

Ответ справочной службы русского языка

В этом случае ставится точка после закрывающей скобки.

Скажите пожалуйста, возможно ли сочетание вопросительного знака с многоточием в конце предложения? Если да, то как оно оформляется? С тремя точками (. ) или четырьмя (. ) Заранее спасибо

Ответ справочной службы русского языка

Здравствуйте! Прошу, по возможности, указать, есть ли правило русского языка, в котором прописано, что в конце предложения не ставятся два восклицательных (вопросительных) знака, а также две точки (..)? Это я к чему: на космодроме «Восточный» на огромных баннерах, щитах и плакатах размещена фраза «Подними голову!!» Есть ли ошибка в написании?

Ответ справочной службы русского языка

Употребление двух восклицательных знаков правилами пунктуации не предусмотрено. В приведенной Вами фразе достаточно одного знака.

Однако правила не запрещают использовать в целях создания художественной выразительности различные необычные комбинации знаков. Вот пример подобного пунктуационного творчества: Там они расстались, под соснами, на песчаной тропе. Игорь, как мог, остановил мгновение: Александр Александрович. чтобы в лицо. но это был уже кто-то совсем другой, хоть и тоже в белой рубашке, но с ракеткой под мышкой: стоял поближе к кустам и озирался направо и налево. (А. Битов).

Почему в школе говорят, что в русском языке 33 буквы, в то время, как на самом деле буква «ё» по правилам должна использоваться лишь в исключительных текстах (детской литературе, словарях и т.д.)? Давно пора уже официально признать, что этой буквы как таковой в русском языке нет, ведь мы не говорим о том, что ударения и др. специальные знаки, используемые в словарях, являются частью алфавита. Большинство филологов согласно с тем, что ё не является полноценной буквой, напр. у Аванесова(орф. словарь, 1988): «Буква ё (или буква е в тех случаях, когда над ней возможна постановка двух точек); Буква е (в тех случаях, когда над ней невозможна постановка двух точек)». Утверждение о том, что при ненаписании точек над е, можно спутать слова или фамилии не выдерживает никакой критики, т.к., несмотря на то, что в русском языке существуют разные слова или фамилии с разным ударением, но записывающиеся одинаково, ударения на письме и в печати не ставятся. Почему же филологи не могут уже столько лет устранить это недоразумение? Неужели до сих пор сказывается влияние приказа кровавого тирана от 1942 года, утвердившее обязательное употребление точек над е. Прошу справочную службу русского языка прояснить данную ситуацию.

Ответ справочной службы русского языка

Неожиданный вопрос. Неожиданный в том смысле, что обычно нам приходят письма с призывами перестать «игнорировать» букву ё, последовательно ее употреблять, с недоуменными вопросами, почему лингвисты никак не узаконят обязательное употребление ё во всех текстах. Ваше письмо, кажется, первое за 15 лет работы портала, в котором содержится противоположный призыв – лишить ё статуса буквы.

Споры вокруг буквы ё не утихают всё то время, что она существует, т. е. чуть более 200 лет. Действительно, лингвисты не раз поднимали вопрос о том, можно ли считать ё буквой. Например, А. А. Реформатский в 1937 году писал: «Есть ли в русском алфавите буква ё? Нет. Существует лишь диакритический значок «умлаут» или «трема» ( две точки над буквой), который употребляется для избежания возможных недоразумений. » Впрочем, и сторонников признания ё буквой тоже немало. Приказ 1942 года был лишь эпизодом в двухсотлетней дискуссии, он перестал соблюдаться уже через несколько лет после издания, дискуссия о целесообразности применения ё возобновилась практически сразу и продолжается до сих пор.

Совсем обойтись без ё нам не удастся. Нужен механизм различения на письме слов все и всё, узнаем и узнаём, совершенный и совершённый и т. д., механизм указания правильного произношения малоизвестного названия или имени собственного. Либо мы будем писать ё, либо придумаем новую букву, более удобную для пишущих и читающих. И такие попытки предпринимались в XIX–XX вв. Но несмотря на то, что почти все предлагавшиеся вместо ё знаки были удобнее, они так и не смогли заменить уже вошедшую в употребление букву.

Поэтому утверждение, что в русском алфавите 33 буквы, правильное. Просто одна из них уникальная, она употребляется выборочно (как день 29 февраля, который есть в календаре, но бывает не каждый год). Понимая, что случаев, когда из-за ненаписания ё слово может быть прочитано ошибочно, сравнительно немного, лингвисты и предлагают золотую середину: если из-за отсутствия ё слово можно понять неправильно – пишем эту букву (всё, а не все). Если же отсутствие ё никак не влияет на чтение (ежик), букву ё можно и не писать. Факультативность употребления ё закреплена действующими правилами правописания.

Подробнее об истории буквы ё и спорах вокруг нее читайте в разделе «Азбучные истины».

Здравствуйте!
Будьте добры, проясните один момент по пунктуации.
В художественной литературе мне иногда встречается, наряду с обычным многоточием (три точки), двоеточие ( две точки ). Вопрос: чем оправдано такое употребление и что оно означет? Если рассуждать логически, то оно, вероятно, подразумевает паузу, более короткую, чем многоточие, но более длинную, чем точка?
Но разве существует такой знак препинания в русской пунктуации? Да и вообще, нужен ли он?
С уважением,
А. Вдовин

Ответ справочной службы русского языка

Ответ справочной службы русского языка

Здравствуйте, уважаемые эксперты Грамоты.ру!
Задаю вопрос уже в третий раз. Прошу вас, ответьте, пожалуйста. Это важно для меня.
Является ли выражение «по общему правилу» вводным сочетанием в предложении: По общему правилу(,) договор является безвозмездным и заключается на пять лет.
Кстати, в конце предложения нужен вопросительный знак. Где его надо ставить в данном случае, если есть многоточие?
Благодарю заранее.
Анжела

Ответ справочной службы русского языка

Ответ справочной службы русского языка

Две точки в конце предложения не ставятся. Точка после инициала выполняет также функцию знака конца предложения.

На одном сайте в формах отправки сообщения (после фразы «Введите ваше сообщение здесь») используют знак препинания «..» вместо правильного многоточия «. ». Но ведь такого знака препинания — «..» — в русском языке не существует! Подскажите, пожалуйста, на какое правило можно сослаться, на какой учебник?

Ответ справочной службы русского языка

Ответ справочной службы русского языка

Ответ справочной службы русского языка

Ответ справочной службы русского языка

1. Нужно поставить вопросительный знак и две точки за ним.

2. Цитату можно обозначить не кавычками, а, например, курсивом.

Задавала вопрос, но ответа не получила. Повторюсь: правильно ли проставлены знаки препинания в предложении «Кажется, превращение скоро закончится и перед нами появится царевна.»?

Ответ справочной службы русского языка

2. Достаточно одной точки. Две точки рядом не ставятся (даже после сокращения).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *