Количество символов в директе: Текстовая реклама. Требования к рекламным материалам

Содержание

Количество символов в Инстаграм – самый полный гайд – Блог Instaplus.me

Количество символов в Инстаграм, которые пользователи могут использовать для продвижения своего контента, ограничено. Установленные ограничения позволяют сделать страницы эстетичными, чистыми, четкими, не загроможденными. И к счастью, ограничение на количество символов в Instagram велико по сравнению с Twitter, например. С предельными лимитами нужно быть ознакомленным, чтобы уметь вмещать всю нужную информацию в публикуемое сообщение, сохранять высокую информативность постов, вовлеченность и отклик аудитории.

Содержание страницы

Количество символов в посте

Привлечь внимание пользователей можно яркой качественной фотографией, но, чтобы удержать читателя, нужно добавить к ней информативный и увлекательный текст. В Instagram вы можете публиковать не только короткие цитаты, но и полноценные истории. Количество символов, которые можно добавить к одному посту, ограничено 2200 знаками с учетом пробелов и других специальных символов.

Такой размер публикаций выбран не просто так. В нем есть определенные преимущества, а именно:

  • короткие тексты легче воспринимаются пользователями;
  • такой объем оптимален для набора с мобильного устройства;
  • посты имеющие до 2000 символов дочитывают до конца более 75% пользователей.

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

Количество символов в шапке

Введены определенные ограничения и для заполнения профиля в Instagram. Максимальное количество символов установлено как для имени пользователя, так и для описания шапки профиля.

Имя профиля

Для составления имени пользователя допускается использовать максимум 29 символов латинского алфавита и числа. Подобного ограничения хватает для того, чтобы составить уникальное имя пользователя, соответствующее вашему профилю и контенту. Особенно, если учесть, что есть раздел биографии, где вы можете более детально раскрыть основную информацию о своем профиле.

Bio

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

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

Количество символов в комментарии

Комментарии в Инстаграм могут содержать текст, эмоджи, хэштеги, ники других пользователей. Минимальная длина комментария не должна быть менее 2-х знаков. Максимальное количество символов для одного комментария — 1000 знаков, но рекомендуется не превышать порог в 200 символов.

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

Максимальный объем сообщения в Директ

Direct Instagram — своего рода мессенджер внутри социальной сети. Он позволяет отправлять сообщения другим пользователям, используя непосредственно мобильное приложение, веб-версию социальной сети, сервера и API. В зависимости от выбранного способа отправки, отличаются и лимиты.

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

Используя различные сервера и API для рассылок в Инстаграм, например, iDirect, вы можете отправлять сообщения, длиною максимум в 990 символов. Более длинные сообщения будут обрезаны до указанного ограничения, либо не доставлены.

Несмотря на то, что есть возможность отправлять более длинные сообщения, 485 знаков — рекомендованное количество символов для Direct. Так, сообщения будут выглядеть естественно, и не подозрительно для алгоритмов проверки Инстаграм.

Количество символов в сторис

Украсить свои Истории можно не только с помощью стикеров и эмоджи. К каждой Stories можно также прикрепить наклейку с текстом или опросом. Администрация социальной сети не ограничивает количество максимально допустимого текста. Поверх основного контента или фонового изображения в Истории пользователи могут разместить любое количество текста, изменить его размер и ориентацию.

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

Количество хештегов

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

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

Идеальный объем для поста, рекламного поста, шапки

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

Статистика показывает, что на чтение текста, длиною в 2 тыс. символов, у пользователей уйдет порядка 2 мин. времени. По современным меркам это достаточно много. Большинство пользователей быстро скролят ленту, и дочитывают до конца длинные тексты, только если их основная суть интересна и раскрыта уже в первых 150 символах.

Идеальной длиной подписи к посту считается 138-150 символов. Такого размера текста достаточно для того, чтобы дополнить фото, раскрыть ценности бренда, развлечь аудиторию и вдохновить подписчиков. Небольшой текст позволяет акцентировать внимание на изображениях и максимизировать взаимодействия с постами.

Оптимальной длиной подписи к рекламному посту считается 125 символов. Короткие описания легче усваиваются, и такой размер позволяет добиться корректного отображения текста даже на экранах меньшего размера.

Хэштег — это один из лучших способов привлечь внимание к публикации и охватить как можно больше аудитории. Зная это, маркетологи нередко прибегают к размещению 20 и более хэштегов под постами в надежде заполучить как можно больше внимания. Однако, даже использование в подписи максимального количества хэштегов не гарантирует результатов. Напротив, использование 20+ одинаковых тегов под каждой публикаций может стать причиной теневого бана и поставит под угрозу видимость вашего аккаунта.

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

Исследования TrackMaven показали, что рекомендованное количество символов для хэштега — 24 знака. Согласно данным аналитиков компании, после выхода за лимит уровень вовлеченность под постом начинает резко снижаться.

Как расширить лимит по символам

У всех бывают настроения, когда хочется писать лонгриды, и тогда отведенного лимита в 2200 символов для постов может оказаться недостаточно. К счастью, есть несколько лайфхаков, которые позволят расширить установленные лимиты.

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

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

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

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

Что же касается остальных ограничений, то они не столь критичны и превышать их не рекомендуется в целях сохранения эстетического вида профиля и публикаций. Единственное исключение — Bio. В 150 символов порой действительно очень сложно уместить все, что хочется сказать подписчикам для знакомства. Немного расширить лимиты биографии можно, если добавить дополнительный текст в раздел с адресом.

Вы также можете предложить своим подписчикам больше узнать о вас, разместив в своей биографии ссылку на внешний сайт, где размещена дополнительная информация о вас или вашем бизнесе. А уместить много контактов в шапке профиля можно с помощью мультиссылки, используя, например, сервисы Mssg, Taplink или MeConnect.

Как подсчитать количество символов онлайн

Часто при превышении лимитов в Инстаграме текст просто обрезается. В итоге приходится удалять публикацию и делать ее повторно, изменив размер текста. Чтобы такие ситуации не происходили, рекомендуется сначала писать текст публикации в редакторе, а затем, убедившись, что объем соответствует установленным лимитам, копировать в социальную сеть.

Например, для подсчета количества символов вы можете использовать следующие онлайн сервисы:

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

Есть и более комплексные инструменты для предварительного редактирования публикаций, поддерживающие функцию подсчета голосов. Например, сервис instaprobel.ru позволяет не только подсчитать количество символов онлайн и следить за не превышением лимита на хэштеги, но и легко стилизовать текст, добавить в текст пробелы, абзацы. Вы можете воспользоваться редактором онлайн через сайт, либо же установить приложение “Space — Spaces for Instagram”, разработанное для iOS и Android.

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

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

Для добавления текста в Сторис можно использовать условно бесплатное приложение HypeType, представленное для iOS и Android. С его помощью вы сможете добавить текст на картинку, сделать анимированные надписи, поработать над удобочитаемостью текста на изображении.

Разработчики Instagram ввели ограничения на количество символов не просто так. Такой размер публикаций и описаний можно назвать оптимальным для восприятия. В конце концов, творчество должно цеплять, а не усыплять. Никто не будет дочитывать то, что не имеет конца и долго пытаться разобраться в потоке сумбурных мыслей. А если уж лимитов и вправду недостаточно, теперь вы знаете, как незначительно расширить их можно с помощью некоторых лайфхаков.

Перенос рекламной кампании из Яндекс Директ в Google Ads

Зачем нужен перенос кампании из Директа в Ads

Перенос объявлений из Яндекс Директа в Google Ads нужен для автоматизации настройки контекстной рекламы. Фактически, вы используете одну РК на разных площадках — это экономит время и условно удваивает трафик на ваш сайт.

Есть ручной и автоматизированный способы перенести кампании — с помощью Excel и бесплатного сервиса Google Телепорт.

Перенос кампаний через Excel

Выгрузка РК из Директа


  1. Кликните на вкладку «Инструменты», а затем — на «Управление с помощью Excel».


    Вкладка «Инструменты» в ЯД

  2. Кликните на вкладку «Выгрузка в XLS/XLSX», выберите нужную РК и формат .XLSX — подходит для последних версий Excel. Нажмите на кнопку «Выгрузить».


    Кнопка выгрузки РК в виде таблицы

Адаптирование таблицы под Google Ads


  1. Создайте новую таблицу в Excel с двумя страницами. На первой будут ключевые слова, на второй — содержимое объявлений.
  2. На первой строке первой страницы напишите следующие подзаголовки столбцов: Campaign, Ad Group, Keyword.


    Лист 1 таблицы для Google Ads

  3. На первой строке второй страницы — Campaign, Ad Group, Headline 1, Headline 2, Headline 3, Description Line 1, Description Line 2, Path 1, Path 2 и Final URL.


    Лист 2 таблицы для Google Ads

  4. Заполните ячейки вручную — при этом не переносите минус-слова и операторы, их можно будет добавить в интерфейсе Редактора Google Рекламы. А еще удалите из всех ссылок UTM-метки, чтобы не путать РК в Яндексе и Google в будущем. Метки для Google также добавите позже.

Важно! В Директе и Ads отличается количество заголовков и текстов в объявлениях, а еще в них разное количество символов. Учитывайте это и отредактируйте объявления, если требуется.


Количество символов в объявлениях Яндекс Директа и Google Ads

Загрузка данных в Google Ads


  1. Откройте Редактор Google Рекламы, нажмите на кнопку скачивания и проведите установку.


    Кнопка скачивания

  2. Войдите в систему под своим логином и паролем от Google аккаунта, к которому привязан сервис Google Ads.
  3. Скопируйте содержимое Листа 1 таблицы для Google Ads.
  4. Кликните на вкладку «Аккаунт» → «Импортировать» → «Вставить текст».


    Приложение «Редактор Google Рекламы»

  5. Нажмите на кнопку «Вставить из буфера обмена», а затем — «Обработать».


    Импорт данных из таблицы

  6. Нажмите на кнопку «Завершить и просмотреть изменения».


    Окно обзора внесенных изменений

  7. Повторите шаги с 1 по 6 с Листом 2 таблицы для Google Ads — и сохраните изменения.

Важно! Выставьте цену, а еще не забудьте добавить минус-слова с правильными склонениями, дополнительные ссылки и другие расширения. Это можно сделать в интерфейсе Редактора Google Рекламы в разделе «Управление» — на вкладке «Общая библиотека».


Вкладка «Общая библиотека»

Перенос кампаний с помощью Google Телепорт

  1. ЗСделайте выгрузку РК из Директа в виде Excel-файла, как описано выше. Адаптировать его под Google Ads не нужно.
  2. Откройте Google Телепорт и нажмите на кнопку «Начать».


    Главная страница Google Телепорт

  3. В следующем окне нажмите на кнопку «Уже есть аккаунт».


    Кнопки регистрации в Google Телепорт

  4. Разрешите сервису доступ к вашему аккаунту Google Ads, а затем загрузите Excel-файл с данными из Директа. Нажмите на кнопку «Продолжить».


    Настройка переноса кампании из Директа в Ads

  5. Назовите РК и нажмите на кнопку «Продолжить».


    Выбор РК для конвертации

  6. Выберите расширения для переноса и нажмите на кнопку «Начать конвертацию». Советуем добавить UTM-метки уже после «телепорта» кампании из Директа в Ads, чтобы в будущем понимать, благодаря какой рекламной системе идет трафик на сайт.


    Меню выбора расширений для переноса

  7. Выставьте бюджет и нажмите на кнопку «Продолжить».


    Бюджет РК в день

  8. Настройте кампанию, исправьте ошибки и добавьте необходимые расширения.


    Меню внесения дополнений

  9. Дождитесь завершения переноса кампаний в Google Рекламу и нажмите на кнопку «Продолжить».


    Завершение переноса РК в GA

  10. Нажмите на кнопку «Перейти в Google Рекламу».


    Кнопка перехода в GA

После этого еще раз проверьте, корректно ли перенеслись данные и запустите кампании.

Понравился материал?

Расскажите друзьям

Получайте новости первыми

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

Спасибо! Материалы будут отправленны вам на e-mail

Второй заголовок Директа — да он просто ОГРОМЕН!!!

Павел Ломакин

Кто то помнит как все начиналось в Яндекс Директ? И как мало давалось нам для выражения сокровенных мыслей и донесения важнейших качеств товара рекламодателя до пользователя? Вот и я не помню! Но было все намного суровей, чем сейчас уж поверьте. Ведь было всего каких то жалких 33 финтифлюшечки называемых символами для самого важного и это во времена, когда великие мошенники рекламы(по другому их называют маркетологами) вроде Огилви или Траута призывают уделять больше всего  внимания именно заголовку, как самому влиятельному элементу объявления по захвату внимания читателя.

Тут конечно можно привести аналогию с конкурирующей контекстной системой забугорного гиганта, но должен сказать , что в этот раз разработчики Директа его переплюнули. Честь им и хвала! О чем идет речь читаем ниже.

Неудивительно, что чем больше вы можете сказать в заголовке тем лучше. Яндекс Директ дал нам эту возможность в полной мере и теперь вместо расширения заголовка за счет подтягивания текста объявления, скрадывая количество символов,  внедрил возможность написания отдельного полноценного второго заголовка. Так что теперь у вас есть:

  • заголовок 1 = 35 символов
  • длина второго заголовка директ = 30 символов
  • текст объявления = 81 символ

То есть вместо максимальных ранее 56 символов, теперь целых 65, Карл, а вместо привычных 75 на текст объявления стало 81. Интересно почему именно 81?

Ну и ладно. Кстати на этом чудеса не кончаются. Теперь при подсчете количества символов не учитываются знаки препинания до 15 штук. Точки, запятые, восклицательные знаки и пр. Божечки мои! Это даже интереснее, так как теперь меньше будешь думать(лучше конечно больше), как перефразировать то или иное предложение, которое не влазит из за точки или запятой. Иногда приходилось жертвовать грамматикой ради достижения целей так как великий и могучий не всегда спасал. Это очень плохо и не надо так!

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

Итак у вас есть форма для написания объявления.

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

Вы можете разбить ключевые слова на два заголовка если в один не влезает и тем самым решить проблему с длинными ключами не занимая места в тексте объявления.

Во вторых вы можете использовать в первом заголовке  шаблон(о том что это такое и как использовать читайте здесь) в случае когда вам нужно например объединить несколько ключевых фраз в одну группу, при этом не потеряв релевантность и что самое главное возобновить открутку если вдруг схлопотали статус мало показов. Все это круто, но есть(надеюсь пока и недолго) один большой жирный минус! Отображение второго заголовка стабильно работает в большинстве случаев когда ваш заголовок не превышает 50-56 символов с учетом 2-х пробелов и дефиса между заголовками! На официальном блоге даже приводятся слова о том, что должны поместиться 512 пикселей и вообще лучше поменьше использовать буквы типа Ш, Щ и т. п. якобы они занимают дофигища места, но я думаю никто это всерьез не воспринял, так как высчитывать пиксели или подбирать буквы при написании объявления…. ну вы серьезно? Вот такой вот облом к концу моего повествования)))

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

Следите за руками. Первая пилюля это то, что ситуация со временем поменяется и я серьезно об этом говорю. Директ меняется сейчас со страшной силой , то ли еще будет. Во вторых( и это огромный жирный плюс сам по себе) Яндекс увеличил первый заголовок, как я уже писал выше до 35 символов, а сам текст до 81 и это очень много. Ну и вишенка на торте это то, что если ты сделаешь и первый и второй заголовок в 56 символов(для стабильности показов), то это не будет как в варианте с расширенным заголовком и у тебя не сканибалят часть текста и можно полноценно использовать все 81 символы. Вот так вот. Надеюсь я был убедительным. Удачи вам!

общее и различное в настройках Контекстная реклама

Настраивая рекламу, и опытный таргетолог, и новичок учатся вслед за меняющимися интерфейсами рекламных кабинетов и усложняющими роботами Гугла и Яндекса. В статье поговорим о том, что общего у Google Ads и Яндекс Директ в настройках, чем они отличаются и как мы можем использовать их для получения лучших результатов. 

Сбор ключевых фраз

И Гугл, и Яндекс предоставляют свои сервисы для сбора ключевиков. Поведение пользователя в сети, наборы в строке поиска — в основном одинаковые, т.к. это одна и та же аудитория. Поэтому при настройке рекламного кабинета Гугла можем использовать и сервис Yandex Wordstat, который имеет свои преимущества перед Keyword Planner. Последний округляет количество запросов пользователей до десятков, сотен и тысяч, что не дает нам возможности сравнивать популярность ключевиков.

Интерфейс главной страницы

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

В Google Ads предоставлена возможность перехода по разным элементам рекламной кампании. 

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

Ниже на скрине интерфейс Яндекс Директ. Навигация по уровням — сверху: кампании (1), группы (2), объявления (3), ставки и фразы (4).

Группа объявлений

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

Различное:
  • точное количество ключевых запросов Yandex Wordstat против округленных значений Keyword Planner,
  • операторы Google Ads для ключевиков: кавычки, квадратные скобки (фразовое и точное соответствие),
  • операторы Яндекс Директ для отображения ключевиков: восклицательный знак, плюс, кавычки, квадратные и круглые скобки.

По количеству объявлений в группе Гугл устанавливает разные ограничения для различных типов объявлений: 

  • не более 300 графических объявлений в группе (в том числе созданных с помощью Галереи).
  • не более 50 текстовых и неграфических объявлений в группе.
  • не более 4 миллионов объявлений в аккаунте (считая активные и приостановленные объявления).
  • не более 3 адаптивных объявлений в группе.
  • 100 групп объявлений в кампаниях для приложений.

В Яндекс Директе Вы сможете создать до 50 объявлений.

Объявления

Общее:
  • структурная схожесть (заголовки, описания, ссылки)
  • наличие отображаемой ссылки (пути)

Различное:
  • количество символов: Гугл в отличие от Яндекса дает больше возможности изложить преимущества продукта: три заголовка по 30 символов в каждом и два описания по 90 символов;
  • отображаемая ссылка в Яндекс Директе только одна, в Google Ads — это т.н. путь 1 и путь 2, по 15 символов каждый;
  • количество символов в объявлениях Яндекс Директ: заголовок 1 (35 символов), заголовок 2 (30 символов), текст (81 символ).

Назначение ставок

Общее:
  • прогноз кликов/охвата при заданной цене ставки.

Различное:
  • рекламный кабинет Яндекса дает прогноз ставки при том или ином охвате, например, стоимость клика при 100 %, 50 %, 20% охвате, а также возможный охват при заданной Вами ставке.

Так выглядит прогноз ставок в кабинете Яндекса.

А вот так выглядит назначение ставок у Гугла. После назначения ставок за клик, Вы увидите дневные расчетные значения, т.е. прогноз количества кликов в день только для заданной Вами ставки.

И хотя прогноз Яндекс Директа приблизительный, т.к. окончательная цена будет все-таки зависеть от результатов аукциона, все же подсказки в кабинете о стоимость 20,50 и 100 показов облегчают задачу рекламщика при работе с этой настройкой.

Расписание показа

Общее:
  • возможность задать дни и часы показа рекламы.

Различное:
  • Google Ads предусматривает заполнение дней и часов показа вручную. А это значит, если каждый день Вы показываетесь по-разному, то необходимо задать для каждого дня свою строчку;
  • Яндекс Директ задает сетку показа на неделю, которую легко регулировать отключением/включением дней и часов.

Сравните настройку ”расписание показа объявлений” Google Ads

 

и настройку “расписание показов” Яндекс Директа. 

Платежные данные

Общее:
  • заполнение платежных данных в самом кабинете.

Разное:

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

Настройка платежного аккаунта — обязательный этап после создания объявлений в кабинете Google Ads.

Пополнить счет в Яндекс Директе просто, после нажатия в кабинете красной кнопки “пополнить”. 

При настройке рекламной кампании в Директе нет жесткой привязки карты, счет пополняется по мере расходования, средства списываются ежедневно (см ниже).

В чем удобство для таргетолога? 

В Директе, в отличие от Google Ads, Вы можете создавать необходимое количество рекламных кампаний, отправлять их на модерацию, менять настройки до оплаты и запуска. Это удобно, потому что: 

  • во-первых, не все заказчики захотят привязывать платежные данные, заполнять данные организации;
  • во-вторых, Вы сможете тестировать нишу/продукт без привязки к организации.

 

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

 

Таблица. Общее и различное в настройках Google Ads & Яндекс Директ

 

Функционал рекламного кабинета, особенности настройки

Google Ads & Яндекс Директ: общее

Google Ads & Яндекс Директ: различное

1

Сбор ключевых фраз

Одна целевая аудитория

Одинаковые ключевые запросы

Сервисы от кампаний:

  • Yandex Wordstat (точное количество запросов)

— Keyword Planner (округляет запросы)

2

Главная страница рекламного кабинета

(интерфейс)

Навигация по уровням кампании: кампания, группы объявлений, объявления

Гугл дает возможность навигации еще по другим элементам (настройкам) рекламной кампании

3

Группы объявлений

Создание нескольких объявлений в одной группе

Гугл (ограничения для групп):

  • 300 графических объявлений в группе 
  • 50 текстовых и неграфических объявлений в группе, 
  • 4 миллионов объявлений в аккаунте,
  • 3 адаптивных объявлений в группе.

Яндекс:

  • 50 объявлений в группе.

4

Количество знаков в объявлениях

Структура объявления — заголовок описание URL

Гугл: 

  • заголовок 1, 2, 3 (по 30 символов), 
  • описание 1, 2 (по 90 символов)

Яндекс:

  • заголовок 1 (35 символов), заголовок 2 (30 символов)
  • текст (81 символ)

5

Расписание показа

Дни недели и часы

Гугл:

  • заполнение вручную

Яндекс:

  • работа с временной сеткой

6

Операторы для ключевых фраз

Разные типы соответствия (широкое, фразовое

Яндекс Директ:

  • операторы: ! + “” [] () |

Гугл:

  • операторы: “” []

Использование операторов в Google Ads крайне желательно

7

Назначение ставок

Прогноз количества кликов при заданной ставке

Яндекс дает прогноз разных стоимостей кликов для разного % охвата.

8

Платежные данные

Заполняются в самом кабинете

Гугл:

  • заполнение платежных данных обязательно

Яндекс:

  • без привязки карты к аккаунту

 

Изучайте контекстную рекламу вместе с нами!

Cмотрите также наше видео:

Вам могут быть интересны и другие наши статьи по теме:

Частые вопросы: YML – R-брокер

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

YML  — стандарт файлов для загрузки товаров на YandexMarket, содержит основные характеристики товаров.. 

Для кампаний, созданных по YML (фид) вы можете создавать тактики управления в которых значение R-max будет рассчитываться в зависимости от стоимости товара.

На вкладке Создание по YML отображен список загруженных прайс-листов и ссылка +добавить по клику откроется окно добавления прайс-листа

Загрузить прайс-лист можно двумя способами:

  • добавить ссылку на сайт, где размещен yml (фид)
  • загрузив файл yml (в форматах xml, xlsx, csv)

Когда файл YML (фид) загружен он отобразится в списке прайс-листов.

По загруженным файлам в таблице отображается информация:

  • Прайс-лист — Название загруженного файла, по клику откроется ссылка на YML-файл.
  • Категория/Товары — количество категорий и товаров в прайс-листе.
  • Параметры товара — если для товаров есть дополнительные параметры (цвет, вес и пр), и в YML созданы отдельные теги параметров товара, то в этом разделе можно настроить тип тега. Тип тега — это значение его содержимого, например для цвета — это будет текст, для размера экрана это будет число.
  • Ссылка Настроить — клик по ссылке откроет поля для уточнения параметров товара.

  • РК — количество созданных рекламных кампаний по этому загруженному файлу, по клику на ссылку количество развернется список рекламных кампаний. Если по прайс-листу нет кампаний, отобразится значение 0. По клику +создать откроется блок создания РК по YML.
    • Поток с указанием номера — это группа товаров, для которых были созданы объявления, по клику Настроить рядом с потоком отображаются настройки группы: параметры рекламной кампании и правила для объявлений и фраз.
  • Статус — статус загруженного файла. Ок — если файл загружен без ошибок и по нему можно создать РК. Ошибка — если вы загрузили файл неверного формата или в файле нет обязательных тегов (параметров товара).
  • Обновлен — дата последнего обновления или загрузки файла.
  • Следующее обновление — прайс-листы добавленные ссылкой обновляются автоматически, для таких прайс-листов указана дата планируемого обновления.
  • Обновить — используется для обновления прайс-листа. Если прайс-лист был добавлен ссылкой, то, после изменения файла нажмите на эту кнопку и сервис обновит данные рекламной кампании, в соответствии с изменениями в файле. Если вы загружали файл — по клику на кнопку откроется окно для загрузки обновленного файла.
  • Удалить — для удаления прайс-листа.

Параметры товара. Настроить. 

Фид содержит набор стандартных параметров (тегов), которые можно использовать при создании рекламной кампании.

Если у товарных предложений есть дополнительные параметры, то они будут отображены в столбце Параметры. Чтобы их использовать в объявлениях, настройте эти параметры.

По клику по ссылке настроить откроются поля настройки параметров:


Доступно — список параметров, которые найдены в файле YML рекламной кампании.
Чтобы выбрать параметр нажмите на плюс.
По клику на название параметра откроется окно подсказки с примером значения параметра.

Выбраны — параметры, которые можно использовать при создании рекламной кампании.
В поле название, укажите название поля, по которому можно будет найти этот параметр в списке.
Тип тега — тип контента тега (для параметра Цвет — типа тега текстовый, для параметра Вес — тип тега число и т.д.)

Этапы создания рекламной кампании по YML

Создание РК по YML в сервисе R-брокер разбивается на 3 этапа:

Этап 1. Выбор товара. Формируется список товаров для созданий рекламных объявлений (вам нужно выбрать категории товаров для которых будете создавать РК, либо отфильтровав список по признакам).

Этап 2. Создание объявлений. Добавляются правила создания ключевых фраз и правила для формирования объявлений.

Этап 3. Настройки РК. Создание основных настроек РК.


Этап 1. Выбор товара.


По клику на ссылку +создать в таблице прайс-листов откроется Этап 1 формирования РК.

На странице отображены категории товаров, загруженные из YML.

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

Для перехода к следующему шагу, выберите регион показа объявлений рекламной кампании. 

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

Для более детального выбора товаров используйте Фильтр по параметрам товара.

Параметры, по которым доступна фильтрация:

  • Id — id предложения
  • Url — ссылка на товарное предложение
  • Price — цена товарного предложения
  • currencyId — валюты
  • categoryId — идентификатор категории товаров
  • Picture — ссылка на изображение
  • Name — название товара
  • Vendor — производитель

Рядом с параметром фильтрации выберите “содержит” или “=”, а в соседнем поле укажите значение, по которому следует отфильтровать товар. Нажмите кнопку Найти подходящие товары.

После выбора товаров нажмите кнопку Далее.


Этап 2. Создание объявлений

Автоматического формирования ключевых слов и объявлений рекламных кампаний можно использовать параметры товара, которые есть в файле YML (название, производитель, цена и др).

Ключевая фраза

При создании шаблона ключевой фразы можно использовать значение параметра (например — название name) или комбинацию слова и параметра (например, “купить” и значение параметра name).

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

Откроется окно настройка параметров товара


Нажмите +добавить — для добавления правила.

Действие — выбор действия, которое следует применять к параметру (изменить регистр, очистить поле, удаление скобок с содержимым, удалить содержимое, найти и заменить, ограничение по словам, отключить доп.слова).

Параметр — тег шаблона, для которого следует применять действие.

Детали действия — набор действия, зависит от типа действий.

Кнопка Сохранить — сохраняет настройки параметра.

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

  • Удалять спец.символы из данных каталога товаров
  • Не создавать ключевые фразы состоящие более чем из 7 слов
  • Автоматически заминусовать ключевые слова на предмет пересечения в объявлениях — при включении все этой опции, объявления будут показываться только по запросам, которые соответствуют ключевым фразам.

Блок Объявление — для формирования шаблона объявления.

В блоке объявление создания объявлений — 3 поля: заголовок, текст объявления, ссылка.

Максимальное количество символов в объявлении

  • Заголовок 1 — 36 символов
  • Заголовок 2 — 31 символ
  • Текст объявления — 81 символ

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

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

Например: в тексте объявления вы хотите показывать Гарантия производителя, для товаров с гарантией производителя.
Для этого: добавьте тег manufacturer_warranty в объявление, откройте Настройка параметров товара и заполните поля:

В этом случае в объявлениях товаров:

  • Если тег manufacturer_warranty = false, значение тега будет очищено,
  • Если тег manufacturer_warranty = true, будет выведено «Гарантия производителя».

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

Настройка параметров объявления

  • Автоперенос слов из тега с заголовка в текст объявления
  • Не учитывать доп.слова, если в тексте объявления более 75

При создании РК на РСЯ можно добавить изображение.
По клику +добавить откроется окно в котором нужно выбрать способ добавления изображения.

Быстрые ссылки — показываются под объявлением. Вы можете добавить быстрые ссылки на страницу с важной информацией, например на страницу контактов.
Чтобы добавить быстрые ссылки, нажмите +настроить откроется окно настройки быстрых ссылок.

Максимальное количество быстрых ссылок — 4
Быстрые ссылки должны ссылаться на тот же домен, который указан в объявлении.

После того как быстрые ссылки будут добавлены, нажмите кнопку Сохранить в окне добавления быстрых ссылок.

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

Чтобы добавить уточнения, кликните по ссылке +настроить и выберите нужные уточнения.
Список уточнений загружается из аккаунта Яндекс.Директ, если в вашем аккаунте на Яндекс.Директе уточнения были добавлены ранее и прошли модерацию Яндекс.Директа.

После заполнения всех необходимых полей, нажмите Сгенерировать объявления.

Рядом с шаблоном объявления отобразятся созданные объявления.

Без ошибок — объявления, в которых нет ошибок (количество символов в объявлении не превышают допустимое значение, есть ссылки).
С ошибками — объявления, при формировании которых были допущены ошибки (превышено количество символов, не добавлены ссылки на товарные предложения и др)
«Мало показов» — объявления, которые могут попасть в группу «Мало показов» Яндекс.Директ, шаблоны таких объявлений вы можете скорректировать. Проверка на Мало показов осуществляется по клику на кнопку проверить на Мало показов.

Кнопки:

       Выбрать и перейти к след.шагу — для перехода на страницу настройки рекламной кампании

       Изменить шаблон — для редактирования шаблона

       Выбрать и изменить — для редактирования только выбранных объявлений

Этап 3. Настройка РК

В разделе добавляются общие настройки РК

Вкладки:

  • Общие параметры — для добавления названия РК, даты начала РК, настройки email уведомлений по РК
  • Стратегия Директа — выбор стратегии, которая будет применяться к РК
  • Настройки для РСЯ — настройки РК, применяются для кампаний РСЯ
  • Таргетинг — выбор региона показа и настройка расписания
  • Настройка метрики — настройка мониторинга сайта и автоматическая разметка метрики
  • Доп.параметры — запрещенные площадки, настройка запрета показа объявлений по ip-адресам, отключение постановки части текста в заголовок объявления, автофокус, подключение внешних метрик
  • YML настройки — обновление объявлений, если прайс-лист изменился, остановка/запуск кампаний если прайс-лист недоступен и др.

Общие параметры:
  • Клиент Яндекс.Директ — выбор аккаунта Яндекс.Директ в котором будет создана РК
  • Имя и Фамилия владельца кампании 
  • Название кампании
  • Начало — дата начала кампании (рядом поле для указания даты окончания кампании, если вы не хотите останавливать кампанию в определенную дату — очистите поле)
  • Настройка получения уведомлений (настройки будут указаны при создании кампании в ЯД)
  • Адрес эл.почты — указать email, на который будут отправляться уведомления
  • Уведомлять при уровне остатка средств на кампании (количество % от последней оплаты)
  • Получать предупреждение о смене позиции — выбрать временной интервал для отправки уведомлений о смене позиций (15, 30, 60 минут) — не отправляются, если в кампании настроена почасовая корректировка
  • Уведомления об остановке по достижению дневного бюджета — отправляется, если на аккаунте не подключен общий счета

Стратегия Директа

  • На вкладке нужно выбрать одну из стратегий Яндекс Директа

Настройки для РСЯ

Таргетинг

  • Настройка расписания показа и настройка расписания показов в выходные дни
  • Выбор регионов показа
Настройка метрики — при заполнении раздела данные РК будут отображены в аккаунте яндекс.директа в разделе настроек рекламной кампании
  • Мониторинг сайта — останавливать объявления при неработающем сайте (требуется метрика)
  • Уведомлять по СМС — для того, чтобы смс уведомления работали правильно, добавьте номер телефона для смс в настройках Яндекс.Директ
  • Разметка ссылок для Метрики

Доп.параметры

  • Показы по дополнительным релевантным фразам
  • Запрещенные площадки — для отключения площадок, где не нужно показывать  объявления рекламной кампании
  • Запрещенные площадки по ip-адресам — вы можете добавить до 25 ip-адресов, для которых нужно запретить показы объявлений
  • Отключить постановку части текста в заголовок — максимальная длина заголовка 33 символа, если заголовок слишком короткий Директ автоматически отображает часть текста в заголовок. Если у строки статус включить, то часть текста не будет переноситься в заголовок.
  • Автофокус — при включенном автофокусе малоэффективные фразы будут уточнены с помощью минус-слов
  • Расчет цен по позициям не учитывать автоматически остановленные объявления конкурентов — Если галочка включена, при расчете цен на позицию будут учтены только цены активных конкурирующих объявлений. Цены на позиции могут изменяться в течение дня, что может привести к непопаданию вашего объявления на желаемые позиции.
  • Внешняя интернет-статистика — для отслеживания результатов рекламной кампании внешними системами статистики Openstat и Liveinternet.

Что такое директ в Инстаграм – как написать и где находится

Что такое Директ

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

Простыми словами директ – это мессенджер внутри Инстаграм.

Пользователи делают разное ударение в слове «direct». Кто-то использует название «дИрект», другие, соблюдая правила английской фонетики, говорят «дирЕкт». Но и те и другие с удовольствием пользуются возможностями, которые предоставляет отправка личных сообщений.

Хотите узнать о новых возможностях социальной сети, использовании рассылок и настройке автоматического приветствия? Дочитайте статью до конца! Уверены, после прочтения у вас не останется вопросов, зато появится несколько новых идей для продвижения.

Читайте по теме:

Как попасть в Direct Инстаграма

Раньше пользоваться возможностями, которые предоставляет директ,  можно было только с мобильного телефона. После очередного обновления, данная функция стала доступна и пользователям с ПК.

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

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

Как открыть директ в мобильном приложении

Если вы используете мобильное приложение, сделайте следующее:

  1. Войдите в свою учетную запись в Инстаграм и перейдите на главную страницу (нажав домик в левом нижнем углу экрана).
  2. Нажмите на значок в правом верхнем углу экрана.
  3. На новой странице откроется список диалогов.
Открыть директ в мобильном приложении

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

Как зайти в директ в приложении Инстаграм для ПК

Иногда вести деловую переписку удобнее с компьютера или ноутбука. Чтобы начать или продолжить переписку через директ Инстаграм сделайте следующее:

  1. Запустите приложение Инстаграм на компьютере;
  2. Зайдите в вашу учетную запись;
  3. В правом верхнем углу вы увидите иконки для навигации в социальной сети;
  4. Выберите вторую иконку справа, чтобы открыть список сообщений в директ;
  5. Перед вами откроется новая страница. Список диалогов будет отображаться с правой стороны, а сами диалоги в поле слева.
Открыть переписку в приложении для Windows

Инстаграм–директ в онлайн сервисах и браузерах

Для тех кто понимает что ведение страницы в Инстаграм стало отнимать слишком много времени и возникла необходимость уделять больше внимания непосредственно бизнесу, а не заниматься рассылкой и обработкой сообщений из директа, есть хороший вариант решения проблемы – онлайн сервисы.

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

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

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

В сервисе BeLiked все эти функции собраны воедино.

Благодаря комплексному подходу инструмент очень удобен в использовании. Из-за высоких требований к безопасности использование его не грозит взломом аккаунта.

Переписка в директ с помощью сервиса

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

Как переписываться с помощью эмуляторов для компьютера

Эмуляторы для ПК  помогают работать с компьютера, используя функционал смартфона.

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

Эмуляторы были особенно популярны раньше, когда функция «отправка сообщений в директ» была недоступна на ПК.

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

Bluestacks – один из самых популярных эмуляторов андроид системы на персональном компьютере. Установите Блюстакс на свой ноутбук и переписывайтесь в директ как на телефоне. С эмулятором доступны все функции мобильного приложения.

Как написать сообщение собеседнику

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

Есть несколько способов начать диалог, давайте рассмотрим их все.

Через Директ

  1. Войдите в свою учетную запись Инстаграм и нажмите на значок директ в правом верхнем углу;
  2. На новой открывшейся странице вы увидите список диалогов с людьми, с которыми вы уже общались. Вы можете выбрать собеседника из списка;
  3. Если пользователя, которому вы хотите написать в директ, нет в списке, нажмите на кнопку «Новое сообщение». Кнопка находится в правом верхнем углу экрана;
  4. Вы можете найти пользователя по поиску и выбрать опцию «новое сообщение».
Диалоги в Direct

Обратите внимание, что в директе доступна функция «Создать чат». Ее мы рассмотрим чуть ниже.

Через профиль

Отправить личное сообщение в директ также через профиль пользователя.

  1. Перейдите на страничку пользователя, которому хотите отправить сообщение.
  2. Выберите опцию «Написать» под шапкой профиля, с правой стороны.
  3. На новой странице перед вами откроется диалог с пользователем.
  4. Вы сможете отправлять сообщения, картинки или посты.
Написать человеку через профиль

Выше мы описали способ отправки сообщений через мобильное приложение. Способ отправки через ПК может незначительно отличатся по расположению иконок и кнопок, но суть остается той же.

Ограничения в Директе

Последние обновления Инстаграм повлияли и на лимиты действий в любимой социальной сети.

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

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

Лимит на количество сообщений

Лимит на количество сообщений разный в зависимости от вашего опыта пользования Инстаграм и количества подписчиков.

Для новых пользователей рекомендуем отправлять в день не более 50 сообщений фолловерам. С каждым днем количество допустимых сообщений будет увеличиваться. Мы рекомендуем не превышать отметку в 200 диалогов в день.

Обратите внимание, что выше речь шла именно о мессенджах людям, которые на вас подписаны.

Лимит сообщений пользователям, которых нет ни в вашем списке подписчиков, ни подписок, примерно 30-40 в день.

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

Ограничения данных

Помимо ограничений на количество сообщений в день, есть еще и ограничение по длине сообщений.

Instagram позволяет отправить в директ сообщение длинной не более 485 символов.

При попытке отправить более длинное сообщение, система либо откажется его отправлять, либо разделит сообщение на два.

Кроме того, Instagram не приветствует регулярную отправку большого количества сообщений. Если вы просто общаетесь через директ с друзьями, то все в порядке. Если занимаетесь рекламной рассылкой и отправляете около сотни сообщений в день, рекомендуем вам делать перерыв между отправками не менее 8-10 минут.

В противном случае Instagram может наложить временные ограничения на вашу активность в любимой социальной сети, а при регулярных нарушениях, повлечёт блокировку аккаунта.

Функции Директа

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

Instagram активно развивает функцию директа, в 2020 году Facebook объединил личные сообщения в Instagram и Messenger. Это было сделано для удобства пользователей, чтобы те могли общаться друг с другом в одном приложении.

К старому функционалу добавились возможности прикреплять анимированные наклейки и ГИФ, отправлять реакции. Можно выбирать цветовую схему чатов, доступно более 20 цветовых решений. Помимо прочего, пользователи теперь могут отвечать на сообщения в директ, проведя пальцем по экрану.

Даже сам значок директа изменился. Раньше это был самолетик, а теперь иконка больше напоминает значок мессенджера из Facebook.

Если вы еще не обновили настройки Instagram, советуем сделать это уже сейчас и идти в ногу со временем.

Чтобы обновить директ в вашем профиле, сделайте следующее:

  1. Войдите в вашу ученую запись Instagram. Нажмите на три точки или три полоски (в зависимости от типа вашего устройства) в правом верхнем углу экрана;
  2. Перейдите в раздел «Настройки» во всплывающем окне;
  3. На новой открывшейся вкладке первой строчкой будет опция «Обновить обмен сообщениями», выберите ее;
  4. Система откроет перед вами новую страницу с информацией об обновлении, подтвердите свое согласие, нажав на кнопку «Перейти» внизу экрана;
  5. Интегрируйте ваши аккаунты Instagram и Facebook.

Групповые чаты

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

Чтобы создать групповой чат сделайте следующее:

  1. Войдите в свою учетную запись Инстаграм и нажмите на значок директ в правом верхнем углу.
  2. Нажмите на кнопку «Новое сообщение». Кнопка находится в правом верхнем углу экрана;
  3. Найдите первого участника группового чата по поиску, нажмите на кружок напротив имени пользователя, чтобы добавить его в беседу;
  4. Выберите опцию «Создать чат» в правом верхнем углу экрана;
  5. Добавьте остальных участников диалога.
Групповые чаты в директе

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

Быстрые ответы

Эта функция значительно упростит работу магазинов в Инстаграм.

Как правило, пользователи задают одни и те же вопросы – о товарах в наличии, способах и сроках доставки.

Необходимо создать пул самых популярных вопросов и составить шаблонные ответы на каждый из них. Затем сделайте следующее:

  1. Войдите в вашу ученую запись Instagram. Нажмите на три точки или три полоски (в зависимости от типа вашего устройства) в правом верхнем углу экрана;
  2. Перейдите в раздел «Настройки» во всплывающем окне;
  3. На новой странице выберите пункт «Компания»;
  4. Выберите строку «Быстрые ответы» на IPhone или «Сохраненные ответы» на Android;
  5. На новой странице вы увидите список сохраненных ответов. Добавить новый ответ можно кнопкой «+» в правом верхнем углу.
Настройка быстрых ответов

Каждому быстрому ответу присваивается цифра. При общении в директ с клиентами, просто напишите определенное цифру, под которой сохранен ваш ответ и система предложит отправить текст.

Например, можно сохранить адрес и подробное описание, как добраться до офиса вашей компании под цифрой 1. Таким образом, на вопрос клиента «Где мне вас искать?» вы сможете нажать цифру 1 и выбрать готовый ответ.

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

Исчезающие сообщения

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

Чтобы отправить исчезающие сообщения с фотографией:

  1. Откройте директ и выберите диалог с пользователем, либо групповой чат;
  2. Нажмите на иконку в виде фотоаппарата. Перед вами откроется режим камеры. Сделайте фото, при необходимости наложите эффект;
  3. Двигайте строку под фото, чтобы выбрать режим просмотра «Разовый просмотр», «Разрешить повторный просмотр» или «Оставить в чате».

Чтобы отправить исчезающие сообщения с текстом:

  • Перейдите в диалог с пользователем;
  • Проведите по экрану снизу вверх;
  • Напишите и отправьте сообщение.

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

Исчезающие сообщения

Ручные и автоматические рассылки в директ Инстаграм

Рассылки это удобный и действенный инструмент продвижения аккаунта через директ.

Вы можете отправлять приветственное сообщение новым подписчикам, либо оповещать о новых акциях и выгодных предложениях для своих клиентов.

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

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

Давайте подробно рассмотрим, какие бывают виды рассылок.

Ручные рассылки сообщений

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

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

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

Автоматические рассылки сообщений

Если количество пользователей, которых вы хотите охватить массовой рассылкой, велико, в этом случае уместно воспользоваться автоматической (массовой) рассылкой.

Логично будет приветствовать всех новых подписчиков милым сообщением в директ. В нем вы можете рассказать немного о себе, поблагодарить за подписку и сориентировать фолловера в навигации по вашей страничке. Рассказать, что сохранено в актуальных сториз и какие интересные посты можно найти по хештегам.

Идеальный вариант это когда пользователь ответит на ваше приветствие, тем самым откроет с вашим аккаунтом диалог, а открытый диалог снимает ограничение на массовую рассылку. Поэтому в приветственном сообщении задать пользователю вопрос или написать призыв к действию.

Для организации массовых рассылок в Инстаграм потребуется либо специально ПО, либо онлайн сервис. Назовем несколько самых известных и популярных.

Сервис Leadfeed отлично справиться с задачей по рассылке сообщений. С помощью сервиса можно настроить рассылку по своим подписчикам, по открытым диалогам или подписчикам конкурентов. По INSTASERVIS можно получить +5 дней при оплате любого тарифа

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

Zeus – многофункциональный сервис для продвижения аккаунта с функцией автоооветчика, Создание серий писем, переписка в директ с компьютера.

Boss Direct– сервис для создания чат–бота в своём профиле. Бот отвечает пользователям по заранее подготовленным сценариям и повышает продажи.

SMMbot – система по работе с клиентами CRM со встроенным чат-ботом. Понятный конструктор сценариев, автоответчик и массовые рассылки в одном сервисе.

Выбирайте сервис в зависимости от ваших задач и бюджета, либо рассылайте сообщения самостоятельно.

Популярные вопросы и ответы

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

Где хранится переписка из direct instagram

Переписка сохраняется в диалоге с собеседником.

Несмотря на то, что серверы Instagram, где хранится переписка, хорошо защищены, мы не рекомендуем пересылать пароли и другие важные личные данные. Злоумышленники могут взломать ваш аккаунт, либо аккаунт вашего собеседника и завладеть этими данными.

Как закрыть директ

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

  1. Войдите в вашу учетную запись и перейдите во вкладку «Настройки» (подробные инструкции о том, как это сделать, мы приводили выше).
  2. Выберите пункт «Конфиденциальность», затем «Сообщения».
  3. Перед вами откроется новая страница. Выберите те опции, которые считаете нужными.

Обычно запросы на переписку от аккаунтов, подписанных на вас, отображаются в папке «Запросы на переписку». Вы можете отключить уведомления о запросе переписки от ваших подписчиков, либо других людей.
Кроме того, вы можете выбрать круг лиц, которые могут приглашать вас в групповые чаты.

Как восстановить сообщения в директ инстаграм

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

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

Как делать продажи через директ

Универсального и короткого ответа на этот вопрос нет. Все зависит от вашего товара, его целевой аудитории.

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

Используйте сервисы автоматического приветствия подписчиков и сервисы массовых рассылок чтобы протестировать гипотезу

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

Шаблоны в Яндекс Директе — инструкция как создавать однотипные объявления

Допустим, стоит задача создать 350 однотипных рекламных объявлений, каждое на один отдельный «ключ». Возможно каким-либо образом ускорить данный процесс и снизить общую трудоемкость работ? Не нанеся при этом вред уникальности и, как следствие того, стоимости клика?

Специально для подобных задач в рекламной площадке «Яндекс Директ» предусмотрен особый инструмент – «Шаблоны», воспользовавшись которым можно создать свой сценарий по заполнению текстов объявлений с помощью подстановки поискового запроса. Это позволяет соблюсти релевантность и в автоматизированном режиме заполнить огромное количество рекламных объявлений, подставив «ключи» в необходимые места.

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

Инструмент особенно актуален при ведении массивных кампаний на поиске и в сети сайтов-партнеров «Яндекса».

Как создать «Шаблон» в «Яндекс Директе»

Сам по себе процесс очень легкий, не требует обладания какими-либо профильными знаниями и сводится к использованию специального оператора «#». Чтобы его поставить достаточно перейти к уже существующей группе объявлений или создать новую (в случае, если её ещё нет).

В том месте, где должен стоять «ключевик», ставится оператор «решётка» «#» с двух сторон. Между специальными символами обязательно указываем фразу по-умолчанию, которая задаст необходимую словоформу.

Говоря простым языком, оператор «#…#» задаёт переменные, обращенные к настроенным и заранее заданным «ключам». В нашем примере вместо шаблона #Цветы#, можно задать все доступные в продажи виды цветочных изделий (розы, орхидеи, лилии, хризантемы и т.д.).

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

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

Как уже говорилось ранее, количество символов ограничено и подчиняется общим правилам службы модерации компании «Яндекс». При подсчёте знаков решетки не учитываются. Таким образом, доступно 35 символов в заголовке рекламного объявления и 77 в самом тексте с учетом двух операторов, установленных по обе стороны «шаблонного ключа».

В случае превышения количества знаков при подстановке «ключевика» система покажет первоначально заданный вариант (значение, по-умолчанию, за вычетом решёток).

Заключение

Таким образом, задействовав шаблоны в «Яндекс Директе», мы получаем возможности по ускорению выполнения огромного объема трудоемкой работы и рационализации временных затрат. Стоит лишь только внимательнее отнестись к словоформам и количеству знаков для избегания непредвиденных проблем с неточностями и грамматической бессмысленностью, негативно сказывающихся на CTR и расходах на рекламу в целом (показы идут, а кликов по объявлениям нет и, как следствие этого, рост стоимости одного рекламного перехода).

Комментарии

Хотите узнать все
подробности о своём
сайте, звоните:

8 800 200 47 80

(Бесплатно по России)

или

Отправить заявку

Сообщение отправлено

Пользовательские директивы Angular: принимать только числа и ограничивать использование специальных символов в поле ввода | Анас Реза

Хотите знать, как ограничить поле ввода, чтобы принимать только числа?

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

Вы можете наблюдать странное поведение поля ввода с type=”number”. Первоначально, когда вы начинаете писать в поле, вы не сможете вводить символы a, b, e или что-то еще, но когда вы пишете таким образом, как 123eeww, он принимается, потому что становится экспоненциальным значением.
Возвращаясь к основам, которым мы обычно не уделяем внимания, всегда есть ответ.

Номер типа принимает только числа с плавающей запятой и символ e или E после числа (которые представляют собой показатели степени, если они используются после числа, например 123ee). Что теперь?

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

Объяснение:

Как вы можете видеть выше,
Шаг 1 : событие onKeyPress, мы проверяем введенный символ, если он соответствует заданному регулярному выражению ‘^[0–9]+$’ , , если не введен, этот символ не будет принят
Шаг 2
: что, если кто-то скопирует и вставит данные? Чтобы избежать такого сценария, мы также можем ограничить событие вставки, чтобы оно принимало только числовой формат и заменило остальные нечисловые символы с » .[a-zA-Z0–9 _-#]*$: Просто добавляйте их в конце регулярного выражения, и все будет работать как по маслу.

Несколько рецептов FORMAT

Несколько рецептов FORMAT

Copyright © 2003-2005, Peter Seibel LOOP макрос — одна из двух возможностей Common Lisp, вдохновляющая сильный эмоциональный отклик у многих пользователей Common Lisp. Некоторым это нравится; другие ненавидят это. 1

ФОРМАТ Поклонники любят его за большую мощность и лаконичность, а его хулители ненавидят его из-за возможности неправильного использования и его непрозрачность.Комплекс ФОРМАТ управляющие строки иногда содержат подозрительное сходство с линейным шумом, но FORMAT остается популярным с Обыкновенными шепелявыми, которым нравится генерировать маленькие кусочки удобочитаемый вывод без необходимости загромождать свой код большим количеством кода, генерирующего вывод., ~}» list)

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

Во всяком случае, вы должны хотя бы уметь читать FORMAT , и стоит получить представление о том, что он может сделать, прежде чем вы присоединяетесь к лагерю за или против лагеря. Это Также важно понимать хотя бы основы ФОРМАТ потому что другие стандартные функции, такие как сигнализация состояния функции, обсуждаемые в следующей главе, используйте FORMAT -style управляющие строки для генерации вывода.

Чтобы еще больше усложнить ситуацию, FORMAT поддерживает три различные виды форматирования: печать таблиц данных, 90 135 красивых печатных 90 136 s-выражений и создание удобочитаемых сообщения с интерполированными значениями. Печать таблиц данных в виде текста немного пройти в эти дни; это одно из тех напоминаний, что Лисп почти так же стар, как FORTRAN. На самом деле, несколько директив вы можете использование для печати значений с плавающей запятой в полях фиксированной ширины было основано прямо на FORTRAN редактировать дескрипторы , которые используются в FORTRAN для чтения и печати столбцов данных, расположенных в фиксированной ширине поля.Однако использование Common Lisp в качестве замены FORTRAN выходит за рамки объем этой книги, поэтому я не буду обсуждать эти аспекты ФОРМАТ .

Красивое оформление также выходит за рамки этой книги. потому что это мимо, а просто потому, что это слишком большая тема. Кратко, симпатичный принтер Common Lisp — это настраиваемая система для печати блочно-структурированные данные, такие как, помимо прочего, s-выражения при изменении отступа и динамическом добавлении разрывов строк по мере нужный.Это отличная вещь, когда вам это нужно, но это не часто необходимо в повседневном программировании. 2

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

Функция FORMAT

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

Первый аргумент для FORMAT , место назначения для вывода, может быть T , NIL , потоком или строкой с указателем заполнения. T является сокращением для потока *STANDARD-OUTPUT* , в то время как NIL заставляет FORMAT генерировать выходные данные в виде строки, которая затем он возвращается. 3 Если пункт назначения поток, вывод записывается в поток. И если пункт назначения представляет собой строку с указателем заполнения, форматированный вывод добавляется в конец строки и указатель заполнения корректируется соответствующим образом. За исключением случаев, когда пункт назначения NIL и он возвращает строку, ФОРМАТ возвращает NIL .

Второй аргумент, управляющая строка, по сути является программой на язык ФОРМАТ . Язык FORMAT не Lispy на all — его основной синтаксис основан на символах, а не на s-выражениях, и он оптимизирован для компактности, а не простоты понимания. Этот вот почему сложная управляющая строка FORMAT может выглядеть как линейный шум.

Большинство директив FORMAT просто интерполируют аргумент в вывод в той или иной форме.Некоторые директивы, такие как ~% ​​ , из-за чего FORMAT выводит новую строку, не использовать любые аргументы. А другие, как вы увидите, могут потреблять более одного аргумент. Одна директива позволяет даже прыгать по списку аргументы для обработки одного и того же аргумента более одного раза или для пропускать определенные аргументы в определенных ситуациях. Но прежде чем обсуждать конкретные директивы, давайте посмотрим на общий синтаксис директивы.

ФОРМАТ Директивы

Все директивы начинаются с тильды ( ~ ) и заканчиваются одним символ, идентифицирующий директиву.Вы можете написать символ либо в верхнем, либо в нижнем регистре. Некоторые директивы принимают префикс . параметры , которые пишутся сразу после тильды, разделены запятыми и используются для управления такими вещами, как количество цифры для печати после десятичной точки при печати число с плавающей запятой. Например, директива ~$, одна из директивы, используемые для печати значений с плавающей запятой, по умолчанию печатает две цифры после запятой.

 CL-USER> (формат t "~$" пи)
3.14
NIL 

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

 CL-USER> (format t "~5$" pi)
3.14159
NIL 

Значения префиксных параметров являются либо числами, записанными в десятичные числа или символы, записанные в виде одинарной кавычки, за которой следует желаемый персонаж. Значение параметра префикса также может быть полученный из аргументов формата двумя способами: Параметр префикса v заставляет FORMAT потреблять один аргумент формата и использовать его значение для параметра префикса.И префиксный параметр # будет оцениваться как количество оставшихся форматов аргументы. Например:

 CL-USER> (формат t "~v$" 3 pi)
3.142
НОЛЬ
CL-USER> (формат t "~#$" пи)
3.1
NIL 

Я приведу несколько более реалистичных примеров того, как вы можете использовать # аргумент в разделе «Условное форматирование».

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

 CL-USER> (формат t "~,5f" pi)
3.14159
NIL 

Вы также можете изменить поведение некоторых директив с помощью двоеточия и at-sign модификаторы , которые ставятся после любых префиксных параметров и перед идентифицирующим символом директивы.Эти модификаторы немного изменить поведение директивы. Например, с модификатором двоеточия директива ~D , используемая для вывода целые числа в десятичном формате выдает число с запятыми, разделяющими каждый три цифры, а модификатор at заставляет ~D включать знак плюс, если число положительное.

 CL-USER> (формат t "~d" 1000000)
1000000
НОЛЬ
CL-USER> (формат t "~:d" 1000000)
1 000 000
НОЛЬ
CL-USER> (формат t "[email protected]" 1000000)
+1000000
NIL 

Когда это имеет смысл, вы можете комбинировать двоеточие и модификаторы at-sign получить обе модификации.

 CL-USER> (формат t "~:@d" 1000000)
+1 000 000
NIL 

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

Базовое форматирование

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

Наиболее универсальной директивой является ~A , которая использует один аргумент формата любого типа и выводит его в эстетическом (человекочитаемая) форма.Например, строки выводятся без кавычки или escape-символы, а числа выводятся в естественный способ для типа числа. Если вы просто хотите передать значение для потребления человеком эта директива — ваш лучший выбор.

 (формат nil "Значение: ~a" 10) ==> "Значение: 10"
(format nil "Значение: ~a" "foo") ==> "Значение: foo"
(format nil "Значение: ~a" (список 1 2 3)) ==> "Значение: (1 2 3)" 

Тесно связанная директива, ~S , также использует один формат аргумент любого типа и выводит его.Однако ~S пытается генерировать вывод, который можно прочитать обратно с помощью READ . Таким образом, строки будут заключены в кавычки, символы будут package-qualified при необходимости и так далее. Объекты, не имеющие READ способное представление печатается с нечитаемым объектом синтаксис, #<> . С модификатором двоеточия как ~A , так и ~S директивы выдают NIL как () вместо NIL .Обе директивы ~A и ~S также занимают до четырех параметры префикса, которые можно использовать для управления заполнением добавляется после (или до с модификатором at) значения, но эти параметры действительно полезны только для создания табличных данных.

Двумя другими наиболее часто используемыми директивами являются ~% ​​ , которые выводит новую строку, а ~& выдает новую строку . То разница между ними в том, что ~% ​​ всегда выводит новую строку, в то время как ~& испускает один, только если он еще не в начале линии.Это удобно при написании слабосвязанных функций, которые каждый генерирует часть выходных данных, которые необходимо объединить в различные пути. Например, если одна функция генерирует вывод, который заканчивается новой строкой ( ~% ​​ ), а другая функция генерирует некоторые вывод, начинающийся с новой строки ( ~& ), вам не нужно беспокоиться о получении дополнительной пустой строки, если вы вызываете их один за другим другой. Обе эти директивы могут иметь один префикс параметр, который указывает количество символов новой строки для создания.То Директива ~% ​​ просто выдаст такое количество символов новой строки, в то время как директива ~& выдаст либо n — 1, либо n новые строки, в зависимости от того, начинается ли он в начале строки.

Реже используется родственная директива ~~ , которая вызывает ФОРМАТ , чтобы вывести буквенную тильду. Как ~% ​​ и ~& директивы, он может быть параметризован числом, которое контролирует, как много тильд для испускания.

Символьные и целочисленные директивы

В дополнение к директивам общего назначения, ~A и ~S , ФОРМАТ поддерживает несколько директив, которые можно использовать выдавать значения определенных типов определенным образом. Один из Простейшая из них — директива ~C , которая используется для персонажи. Он не принимает префиксных аргументов, но может быть изменен с помощью двоеточие и модификаторы знака at. Немодифицированный, его поведение ничем не отличается от ~A за исключением того, что работает только с символами.То модифицированные версии более полезны. С модификатором двоеточия ~:C выводит непечатаемых символов, таких как пробел, табуляция и новая строка, имя. Это полезно, если вы хотите отправить сообщение пользователю о какой-то персонаж. Например, следующее:

 (формат t "Синтаксическая ошибка. Неожиданный символ: ~:c" char) 

может выдавать сообщения, подобные этому:

 Синтаксическая ошибка. Неожиданный символ: 

, а также следующий:

 Синтаксическая ошибка.Неожиданный символ: Пробел 

С модификатором at-sign [email protected] выдаст символ в Синтаксис буквенных символов Лиспа.

 CL-USER> (формат t "[email protected]~%" #\a)
#\а
NIL 

С модификаторами двоеточия и знака at директива ~C может распечатать дополнительную информацию о том, как вводить символ в клавиатуры, если для этого требуются специальные комбинации клавиш. Например, на Macintosh, в некоторых приложениях можно ввести нулевой символ (код символа 0 в ASCII или в любом расширенном наборе ASCII, таком как ISO-8859-1 или Unicode), нажав клавишу Control и набрав @[email protected] (Control @)»

Однако не все Лиспы реализуют этот аспект ~C директива. И даже если они это сделают, это может быть или не быть точным — для например, если вы используете OpenMCL в SLIME, ключ [email protected] аккорд перехватывается Emacs, вызывая набор-метка-команда . 4

Директивы формата, предназначенные для генерирования чисел, являются еще одним важным категория. Хотя вы можете использовать директивы ~A и ~S для испускать числа, если вы хотите точно контролировать, как они печатаются, вы необходимо использовать одну из директив, специфичных для номера.Числовое директивы можно разделить на две подкатегории: директивы для форматирование целочисленных значений и директивы для форматирования значения с плавающей запятой.

Пять тесно связанных директив форматируют целочисленные значения: ~D , ~X , ~O , ~B и ~R . Наиболее часто используется директива ~D , которая выводит целые числа по основанию 10.

 (формат nil "~d" 1000000) ==> "1000000" 

Как я упоминал ранее, модификатор двоеточия добавляет запятые.

 (формат nil "~:d" 1000000) ==> "1,000,000" 

А с модификатором at всегда печатает знак.

 (формат nil "[email protected]" 1000000) ==> "+1000000" 

И эти два модификатора можно комбинировать.

 (формат nil "~:@d" 1000000) ==> "+1 000 000" 

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

 (ноль формата "~12d" 1000000) ==> "1000000"
(format nil "~12,'0d" 1000000) ==> "000001000000" 

Эти параметры удобны для форматирования таких вещей, как даты в формат фиксированной ширины.

 (формат nil "~4,'0d-~2,'0d-~2,'0d" 2005 6 10) ==> "2005-06-10" 

Третий и четвертый параметры используются вместе с в модификатор двоеточия: третий параметр указывает символ, который будет использоваться в качестве разделитель между группами и цифрами и четвертый параметр задает количество цифр в группе.Эти параметры по умолчанию равны запятая и цифра 3. Таким образом, вы можете использовать директиву ~:D без параметров для вывода больших целых чисел в стандартном формате для США, но может заменить запятую на точку и группировка от 3 до 4 с ~,,'.,4D .

 (формат nil "~:d" 100000000) ==> "100 000 000"
(формат nil "~,,'.,4:d" 100000000) ==> "1.0000.0000" 

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

Директивы ~X , ~O и ~B работают так же, как ~D , за исключением того, что они выдают числа в шестнадцатеричном формате (основной 16), восьмеричное (по основанию 8) и двоичное (по основанию 2).

 (ноль формата "~x" 1000000) ==> "f4240"
(формат ноль "~o" 1000000) ==> "3641100"
(формат nil "~b" 1000000) ==> "11110100001001000000" 

Наконец, директива ~R является общей директивой по основанию . Его первый параметр — это число от 2 до 36 (включительно), которое указывает, какую базу использовать.Остальные параметры такие же, как четыре параметра, принятые ~D , ~X , ~O , и ~B директивы, а двоеточие и модификаторы at-sign изменяют его поведение таким же образом. Директива ~R также имеет некоторые особое поведение при использовании без параметров префикса, которое я обсудить в разделе «Англоязычные директивы».

Директивы с плавающей запятой

Четыре директивы форматируют значения с плавающей запятой: ~F , ~E , ~G и ~$.Первые три из них являются директивами на основе дескрипторов редактирования FORTRAN. я опущу большую часть деталей эти директивы, так как они в основном связаны с форматированием значения с плавающей запятой для использования в табличной форме. Однако вы можете использовать директивы ~F , ~E и ~$ для интерполяции значения с плавающей запятой в текст. ~G или общий, директива с плавающей запятой, с другой стороны, объединяет аспекты ~F и ~E таким образом, что только смысл для создания табличного вывода.

Директива ~F выдает свой аргумент, который должен быть номер, 5 в десятичный формат, возможно, контролирующий количество цифр после десятичная точка. Однако директива ~F позволяет использовать компьютеризированная научная запись, если число достаточно велико или маленький. Директива ~E , с другой стороны, всегда испускает числа в компьютеризированной экспоненциальной записи. Обе эти директивы принять ряд параметров префикса, но вам нужно беспокоиться только о второй, который контролирует количество цифр, которые должны быть напечатаны после десятичная точка.

 (формат nil "~f" пи) ==> "3.141592653589793d0"
(формат nil "~,4f" пи) ==> "3.1416"
(формат nil "~e" pi) ==> "3.141592653589793d+0"
(format nil "~,4e" pi) ==> "3.1416d+0" 

Директива ~$ , или денежная, аналогична ~F , но немного проще. Как следует из названия, он предназначен для излучения денежные единицы. Без параметров это в основном эквивалентно ~, 2F . Чтобы изменить количество цифр после запятой точка, вы используете первый параметр , а второй параметр контролирует минимальное количество цифр для печати перед десятичной запятой точка.

 (формат nil "~$" пи) ==> "3.14"
(формат nil "~2,4$" pi) ==> "0003.14" 

Все три директивы, ~F , ~E и ~$ , могут быть сделано, чтобы всегда печатать знак, плюс или минус, со знаком at модификатор. 6

Директивы на английском языке

Некоторые из самых удобных ФОРМАТ директив для создания удобочитаемые сообщения — это те, которые выдают текст на английском языке. Эти директивы позволяют вам выводить числа как английские слова, выдавать множественное число маркеры на основе значения аргумента формата и для применения регистра преобразование в разделы FORMAT вывода.

Директива ~R , которую я обсуждал в разделе «Символьные и целые числа». Директивы», при использовании без указания базы печатает числа как английские слова или римские цифры. При использовании без параметра префикса и без модификаторов, он выдает число словами как кардинальное число.

 (формат nil "~r" 1234) ==> "одна тысяча двести тридцать четыре" 

С модификатором двоеточия выдает число как порядковое.

 (формат nil "~:r" 1234) ==> "одна тысяча двести тридцать четвертый" 

И с модификатором знака at он выводит число как римскую цифру; как со знаком at, так и с двоеточием, он выводит латинские буквы «старого стиля». числительные, в которых четверки и девятки записываются как IIII и VIIII вместо IV и IX.

 (ноль формата "[email protected]" 1234) ==> "MCCXXXIV"
(format nil "~:@r" 1234) ==> "MCCXXXIIII" 

Для чисел, слишком больших для представления в данной форме, ~R ведет себя как ~D .

Чтобы помочь вам создавать сообщения со словами во множественном числе, FORMAT обеспечивает директиву ~P , которая просто генерирует s , если соответствующий аргумент не равен 1 .

 (формат ноль "файл~p" 1) ==> "файл"
(format nil "file~p" 10) ==> "файлы"
(format nil "file~p" 0) ==> "files" 

Однако обычно вы будете использовать ~P с модификатором двоеточия, что приводит к повторной обработке предыдущего аргумента формата.

 (формат nil "~r файл~:p" 1) ==> "один файл"
(format nil "~r файл~:p" 10) ==> "десять файлов"
(format nil "~r file~:p" 0) ==> "zero files" 

С модификатором at, который можно комбинировать с двоеточием модификатор, ~P выдает либо y , либо ies .

 (формат nil "~r famil~:@p" 1) ==> "одна семья"
(format nil "~r famil~:@p" 10) ==> "десять семейств"
(format nil "~r famil~:@p" 0) ==> "ноль семейств" 

Очевидно, что ~P не может решить все проблемы множественного числа и не является помощь для создания сообщений на других языках, но она удобна для случаи, которые он обрабатывает.И директива ~[ , которую я обсудить через мгновение, дает вам более гибкий способ обусловить части ФОРМАТ вывода.

Последней директивой для обработки вывода английского текста является ~( , что позволяет контролировать регистр текста в выход. Каждый ~( в паре с ~) , и все выходные генерируется частью управляющей строки между двумя маркеры будут преобразованы во все строчные буквы.

 (формат nil "~(~a~)" "FOO") ==> "foo"
(format nil "~([email protected]~)" 124) ==> "cxxiv" 

Вы можете изменить ~( со знаком at, чтобы сделать его заглавным первое слово в разделе текста, с двоеточием, чтобы сделать его использовать заглавные буквы для всех слов и с обоими модификаторами для преобразования всего текста в верхний регистр. ( слово для целей этой директивы является последовательность буквенно-цифровых символов, разделенных небуквенно-цифровыми символами символы или концы текста.)

 (format nil "~(~a~)" "Quick BROWN FOX") ==> "the quick brown fox"
(format nil "[email protected](~a~)" "Quick BROWN foX") ==> "The Quick Brown fox"
(format nil "~:(~a~)" "Quick BROWN foX") ==> "The Quick Brown Fox"
(format nil "~:@(~a~)" "QUICK BROWN FOX") ==> "THE QUICK BROWN FOX" 

Условное форматирование

В дополнение к директивам, которые интерполируют аргументы и изменяют другие output, FORMAT содержит несколько директив, реализующих простой управляющие конструкции в управляющей строке.Один из них, который вы используемая в главе 9, является условной директивой ~[. Это директива закрывается соответствующим ~] , а между ними находятся ряд предложений, разделенных ~; . Работа ~[ директива состоит в том, чтобы выбрать одно из предложений, которое затем обрабатывается ФОРМАТ . Без модификаторов или параметров выбирается предложение по числовому индексу; директива ~[ использует аргумент формата, который должен быть числом и принимает предложение nth (отсчитывается от нуля) где N — значение аргумента.

 (формат nil "~[cero~;uno~;dos~]" 0) ==> "cero"
(format nil "~[cero~;uno~;dos~]" 1) ==> "uno"
(format nil "~[cero~;uno~;dos~]" 2) ==> "dos" 

Если значение аргумента превышает количество предложений, ничего не печатается.

 (format nil "~[cero~;uno~;dos~]" 3) ==> "" 

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

 (format nil "~[cero~;uno~;dos~:;mucho~]" 3) ==> "mucho"
(format nil "~[cero~;uno~;dos~:;mucho~]" 100) ==> "mucho" 

Также можно указать пункт, который нужно выбрать, используя параметр префикса.Хотя было бы глупо использовать буквальное значение в контрольная строка, напомним, что # используется в качестве префикса параметра означает количество аргументов, оставшихся для обработки. Таким образом, вы можете определить строку формата, например следующую:

 (defparameter *list-etc*
  "~#[NONE~;~a~;~a и ~a~:;~a, ~a~]~#[~; и ~a~:;, ~a и т. д.~].") 

и затем используйте его следующим образом:

 (формат nil *list-etc*) ==> "NONE".
(format nil *list-etc* 'a) ==> "A."
(format nil *list-etc* 'a 'b) ==> "A и B."
(format nil *list-etc* 'a 'b 'c) ==> "A, B и C."
(format nil *list-etc* 'a 'b 'c 'd) ==> "A, B, C и т. д."
(format nil *list-etc* 'a 'b 'c 'd 'e) ==> "A, B, C и т. д." 

Обратите внимание, что управляющая строка фактически содержит два ~[~] директивы — обе используют # для выбора используемого предложения. Первый использует от нуля до двух аргументов, а второй потребляет еще один, если он доступен. FORMAT молча игнорирует любые аргументы, не используемые при обработке управляющей строки.

С модификатором двоеточия ~[ может содержать только два предложения; директива принимает один аргумент и обрабатывает первый предложение, если аргумент равен NIL , а второе предложение иначе. Вы использовали этот вариант ~[ в главе 9 для генерировать сообщения о прохождении/не прохождении, например:

 (format t "~:[FAIL~;pass~]" test-result) 

Обратите внимание, что любое предложение может быть пустым, но директива должна содержать ~; .

Наконец, с модификатором at, директива ~[ может иметь только одна оговорка.Директива использует один аргумент и, если он non- NIL обрабатывает предложение после резервного копирования, чтобы сделать аргумент доступен для повторного использования.

 (формат nil "[email protected][x = ~a ~][email protected][y = ~a~]" 10 20) ==> "x = 10 y = 20"
(формат nil "[email protected][x = ~a ~][email protected][y = ~a~]" 10 nil) ==> "x = 10"
(формат nil "[email protected][x = ~a ~][email protected][y = ~a~]" nil 20) ==> "y = 20"
(format nil "[email protected][x = ~a ~][email protected][y = ~a~]" nil nil) ==> "" 

Итерация

Еще одна директива FORMAT , которую вы уже видели, мимоходом, это директива итерации ~{ .Эта директива говорит FORMAT для перебора элементов списка или неявный список аргументов формата.

Без модификаторов ~{ использует один аргумент формата, который должен быть списком. Подобно директиве ~[ , которая всегда сочетается с a ~] , директива ~{ всегда сочетается с закрытие ~ }. Текст между двумя маркерами обрабатывается как управляющая строка, которая берет свои аргументы из списка, потребляемого директива ~ { . FORMAT будет повторно обрабатывать это управляющая строка до тех пор, пока итерируемый список имеет элементы остались. В следующем примере ~{ потребляет аргумент единого формата, список (1 2 3) , а затем обрабатывает контрольную строку "~a," , повторяя до тех пор, пока все элементы список израсходован.

 (format nil "~{~a, ~}" (список 1 2 3)) ==> "1, 2, 3, " 

Однако раздражает, что в выводе последний элемент после списка следует запятая и пробел., ~}» 1 2 3) ==> «1, 2, 3»

В теле ~{...~ } специальный параметр префикса # относится к количеству элементов, оставшихся для обработки в список, а не количество оставшихся аргументов формата. Ты можно использовать это вместе с директивой ~[ для печати список, разделенный запятыми, с «и» перед последним элементом, например:

 (формат nil "~{~a~#[~;, and ~:;, ~]~}" (список 1 2 3)) = => "1, 2 и 3" 

Однако это не работает, если список состоит из двух элементов. потому что это добавляет лишнюю запятую.

 (format nil "~{~a~#[~;, and ~:;, ~]~}" (список 1 2)) ==> "1, and 2" 

Вы можете исправить это в связке способов. Следующее использует преимущества поведения [email protected]{ , когда он вложен в другой ~{ или Директива [email protected]{ — перебирает все элементы, оставшиеся в список повторяется внешним ~{ . Вы можете комбинировать это с директивой ~#[ , чтобы создать следующую управляющую строку для форматирование списков согласно английской грамматике:

 (defparameter *english-list*
  "~{~#[~;~a~;~a и ~a~:;[email protected]{~a~#[~;, и ~:;, ~]~}~]~}")

(формат nil *english-list* '()) ==> ""
(формат nil *english-list* '(1)) ==> "1"
(format nil *english-list* '(1 2)) ==> "1 и 2"
(format nil *english-list* '(1 2 3)) ==> "1, 2 и 3"
(format nil *english-list* '(1 2 3 4)) ==> "1, 2, 3 и 4" 

Хотя эта управляющая строка граничит с кодом «только для записи», это не слишком сложно понять, если вы возьмете это понемногу.Внешний ~{...~ } будет потреблять и перебирать список. Весь организм тогда итерация состоит из ~#[...~] ; выход генерируемый каждый раз через итерацию, таким образом, будет зависеть от количество элементов, оставшихся для обработки из списка. Разделение директива ~#[...~] для ~; Разделители предложений , вы можно увидеть, что оно состоит из четырех предложений, последнее из которых является предложение по умолчанию, потому что ему предшествует ~:; , а не обычный ~; .Первое предложение, когда есть нулевые элементы для обработки, пуст, что имеет смысл — если больше нет элементы для обработки, итерация уже была бы остановлена. То второе предложение обрабатывает случай одного элемента с простым ~ директива. Два элемента обрабатываются с помощью "~a и ~a" . И предложение по умолчанию, которое обрабатывает три или более элементов, состоит из еще одна директива итерации, на этот раз с использованием [email protected]{ для итерации над остальными элементами списка, обрабатываемыми внешним ~ { .И тело этой итерации — управляющая строка, которая может правильно обрабатывать список из трех или более элементов, и это нормально в данном контексте. Поскольку цикл [email protected]{ потребляет все остальные элементы списка, внешний цикл повторяется только один раз.

Если вы хотите напечатать что-то особенное, например, «<пусто>«, когда список был пуст, у вас есть несколько способов сделать это. Возможно, самый простой заключается в том, чтобы поместить нужный текст в первое (нулевое) предложение external ~#[ , а затем добавьте модификатор двоеточия к закрытию ~ } внешней итерации — двоеточие заставляет итерацию запускаться хотя бы один раз, даже если список пуст, после чего FORMAT обрабатывает нулевое предложение условной директивы.

 (параметр по умолчанию *английский-список*
  "~{~#[<пусто>~;~a~;~a и ~a~:;[email protected]{~a~#[~;, и ~:;, ~]~}~]~:}")

(format nil *english-list* '()) ==> "<пусто>" 

Удивительно, но директива ~{ предоставляет еще больше вариантов с различные комбинации префиксных параметров и модификаторов. я не буду обсудить их, кроме как сказать, что вы можете использовать целочисленный префикс параметр, чтобы ограничить максимальное количество итераций и что, с двоеточие, каждый элемент списка (фактический список или список, созданный директивой [email protected]{ ), сам должен быть список, элементы которого затем будут использоваться в качестве аргументов элемента управления строка в ~:{...~ } директива.

Hop, Skip, Jump

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

 (формат nil "~r ~:*(~d)" 1) ==> "one (1)" 

Или вы можете реализовать директиву, подобную ~:P для неправильное множественное число путем объединения ~:* с ~[ .

 (format nil "Я видел ~r el~:*~[ves~;f~:;ves~]." 0) ==> "Я видел ноль эльфов."
(format nil "Я видел ~r el~:*~[ves~;f~:;ves~]." 1) ==> "Я видел одного эльфа."
(format nil "Я видел ~r el~:*~[ves~;f~:;ves~]." 2) ==> "Я видел двух эльфов." 

В этой управляющей строке ~R печатает аргумент формата как количественное числительное. Затем директива ~:* дублируется, так что число также используется в качестве аргумента директивы ~[ , выбирая между предложениями, когда число равно нулю, единице или чему-то еще еще.~}» ‘(:a 10 :b 20)) ==> «:A :B»

Директива ~* также может иметь префиксный параметр. модификаторами или с модификатором двоеточия, этот параметр указывает количество аргументов для перемещения вперед или назад и по умолчанию равно одному. С модификатором at-sign параметр prefix определяет абсолютный, отсчитываемый от нуля индекс аргумента для перехода, по умолчанию равный нулю. То вариант at-sign ~* может быть полезен, если вы хотите использовать разные управляющие строки для генерации разных сообщений для одного и того же аргументы и если разные сообщения должны использовать аргументы в разные заказы. 8

И многое другое . . .

И еще — я не упомянул ~? директива, которая может брать фрагменты управляющих строк из аргументов формата или ~/ директива, позволяющая вызывать произвольную функцию для обработки следующего аргумента формата. И тогда есть все директивы для создания табличного и красивого вывода. Но директив, обсуждаемых в этой главе, должно хватить на время существование.

В следующей главе вы перейдете к системе условий Common Lisp, аналог Common Lisp исключениям и ошибкам других языков системы обработки.


1 Конечно, большинство людей понимают, что это не стоит получить, что работал над что-нибудь на языке программирования и использовать его или нет без большого беспокойства. С другой стороны, это интересно, что эти две функции являются двумя функциями в Common Lisp, который реализует то, что по существу является предметно-ориентированными языками. используя синтаксис, не основанный на s-выражениях. Синтаксис FORMAT управляющие строки основаны на символах, а расширенный макрос LOOP можно понять только с точки зрения грамматики LOOP ключевые слова.Это один из распространенных ударов по обоим FORMAT и LOOP в том, что они «недостаточно шепелявят», свидетельствует о том, что шепелявящие действительно нравится синтаксис s-выражения.

2 Читатели, интересующиеся симпатичный принтер может захотеть прочитать статью «XP: A Common Lisp Pretty Printing System» Ричарда Уотерса. Это описание красивой принтер, который в конечном итоге был включен в Common Lisp. Ты сможешь скачать его из ftp://публикации.ai.mit.edu/ai-publications/pdf/AIM-1102a.pdf .

3 Чтобы немного запутать, большинство других входов/выходов функции также принимают T и NIL в качестве указателей потока но с другим значением: как обозначение потока, T обозначает двунаправленный поток *TERMINAL-IO* , а NIL обозначает *STANDARD-OUTPUT* как выходной поток и *СТАНДАРТНЫЙ ВХОД* в качестве входного потока.

4 Этот вариант директивы ~C имеет больше смысла на таких платформах, как Lisp Machines, где нажатие клавиши события были представлены символами Лиспа.

5 Технически, если аргумент не является действительным числом, ~F должен форматировать его, как если бы он был указан в директиве ~D , которая, в свою очередь, ведет себя как директива ~A , если аргумент не является числом, но не все реализации понимают это правильно.

6 Так говорит стандарт языка.Для некоторых причина, возможно, коренящаяся в общей кодовой базе предков, несколько Реализации Common Lisp не реализуют этот аспект ~F правильно.

7 Если фраза «Я видел нулевых эльфов» кажется вам неуклюжей, вы можно было бы использовать немного более сложную строку формата, которая делает другую использование ~:* следующим образом:

 (формат nil "Я видел ~[no~:;~:*~r~] el~:*~[ves~;f~:;ves~]." 0 ) ==> "Я не видел эльфов."
(format nil "Я видел ~[no~:;~:*~r~] el~:*~[ves~;f~:;ves~].1) ==> «Я видел одного эльфа».
(format nil "Я видел ~[no~:;~:*~r~] el~:*~[ves~;f~:;ves~]." 2) ==> "Я видел двух эльфов." 

8 Такая проблема может возникнуть при попытке локализовать приложение и перевести удобочитаемые сообщения в разные языки. FORMAT может помочь с некоторыми из этих проблем но это ни в коем случае не полноценная система локализации.

Директивы — документация Sphinx

Эта директива вставляет «дерево TOC» в текущее местоположение, используя отдельные оглавления (включая «деревья под-оглавлений») документов, указанных в директивный орган.Относительные имена документов (не начинающиеся с косой черты) относительно документа, в котором встречается директива, абсолютные имена являются относительными в исходный каталог. Числовая опция maxdepth может быть указана для указать глубину дерева; по умолчанию включены все уровни.

Представление «дерева TOC» изменяется в каждом выходном формате. То компоновщики, которые выводят несколько файлов (например, HTML), рассматривают его как набор гиперссылки. С другой стороны, компоновщики, которые выводят один файл (напр.LaTeX, справочная страница и т. д.) замените его содержимым документов на ТОС-дерево.

Рассмотрим этот пример (взято из справочного указателя библиотек документов Python):

 .. toctree::
   :максимальная глубина: 2

   вступление
   струны
   типы данных
   числовой
   (много других документов, перечисленных здесь)
 

Это выполняет две вещи:

  • Вставлены оглавления всех этих документов с максимальным глубина два, что означает один вложенный заголовок. toctree директив в эти документы также учитываются.

  • Сфинкс знает относительный порядок документов интро , строк и так далее, и он знает, что они являются потомками показанного документ, библиотечный индекс. Из этой информации он генерирует «следующий ссылки «глава», «предыдущая глава» и «родительская глава».

Записи

Заголовки документов в toctree будут автоматически считываться из название ссылочного документа. Если это не то, что вы хотите, вы можете указать явный заголовок и цель, используя синтаксис, аналогичный reST гиперссылки (и синтаксис перекрестных ссылок Sphinx).Этот выглядит так:

 .. toctree::

   вступление
   Все о строках 
   типы данных
 

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

Вы также можете добавить внешние ссылки, указав URL-адрес HTTP вместо документа имя.

Нумерация секций

Если вы хотите, чтобы номера разделов отображались даже в выводе HTML, укажите toplevel toctree вариант с номером .Например:

 .. toctree::
   : пронумеровано:

   фу
   бар
 

Затем нумерация начинается с заголовка foo . Поддеревья автоматически нумеруются (не давайте им флаг с номером ).

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

Дополнительные опции

Вы можете использовать опцию caption , чтобы предоставить заголовок toctree, и вы можете используйте параметр name , чтобы предоставить неявное целевое имя, которое может быть ссылается с использованием ref :

 .. toctree::
   :caption: Содержание
   : имя: мастерток

   фу
 

Если вы хотите, чтобы отображались только заголовки документов в дереве, а не другие заголовки одного уровня можно использовать titleonly вариант:

 .. toctree::
   :titlesonly:

   фу
   бар
 

Вы можете использовать «подстановку» в директивах toctree, указав флаг glob вариант. Затем все записи сопоставляются со списком доступных документов, и совпадения вставляются в список в алфавитном порядке.Пример:

 .. toctree::
   глобус:

   вступление*
   рецепт блюда/*
   *
 

Включает сначала все документы, имена которых начинаются с ввод , затем все документы в папке recipe , затем все остальные документы (кроме один, содержащий директиву, разумеется.)

Специальное имя записи self обозначает документ, содержащий директива toctree. Это полезно, если вы хотите создать «карту сайта» из toctree.

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

 .. toctree::
   глобус:
   : наоборот:

   рецепт блюда/*
 

Вы также можете указать «скрытый» вариант директивы, например:

 .. toctree::
   :скрытый:

   doc_1
   doc_2
 

Это по-прежнему будет уведомлять Sphinx об иерархии документов, но не будет вставлять ссылки в документ по месту расположения директивы — это имеет смысл, если вы намерены вставить эти ссылки самостоятельно, в другом стиле или в HTML боковая панель.

В тех случаях, когда вы хотите иметь только одно дерево toctree верхнего уровня и скрыть все остальные toctrees нижнего уровня, вы можете добавить опцию «includehidden» к верхнему уровню запись toctree:

 .. toctree::
   :includehidden:

   doc_1
   doc_2
 

Все остальные записи toctree могут быть удалены с помощью «скрытой» опции.

В итоге все документы в исходном каталоге (или подкаталогах) должно встречаться в директиве toctree ; Sphinx выдаст предупреждение, если находит файл, который не включен, потому что это означает, что этот файл не будет быть доступным через стандартную навигацию.

Используйте exclude_patterns для явного исключения документов или каталоги из построения полностью. Используйте «бесхозные» метаданные, чтобы разрешить создание документа, но сообщите Sphinx, что это не так. доступный через toctree.

«Корневой документ» (выбранный root_doc ) является «корневым» оглавлением древовидная иерархия. Его можно использовать как главную страницу документации или как «полное оглавление», если вы не укажете опцию maxdepth .

Изменено в версии 0.3: добавлена ​​опция «глоббинга».

Изменено в версии 0.6: Добавлены «нумерованные» и «скрытые» опции, а также внешние ссылки и поддержка ссылок на «я».

Изменено в версии 1.0: Добавлена ​​опция «только для заголовков».

Изменено в версии 1.1: Добавлен числовой аргумент для «нумерованного».

Изменено в версии 1.2: Добавлена ​​опция «includehidden».

Изменено в версии 1.3: Добавлены опции «заголовок» и «имя».

404 | Микро Фокус

  • Профессиональные услуги

    Сформируйте свою стратегию и трансформируйте гибридную ИТ.


  • Профессиональные услуги по продукту
  • Аналитика и большие данные

    Поможет внедрить безопасность в цепочку создания ценности ИТ и наладить сотрудничество между ИТ-операциями, приложениями и командами безопасности.

  • Кибербезопасность

    Помогите вам быстрее реагировать и получить конкурентное преимущество благодаря корпоративной гибкости.

  • DevOps

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

  • IT4IT Консультации по цепочке создания стоимости

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

  • Управление доставкой приложений

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

  • Жизненный цикл мобильного приложения

    Полнофункциональное моделирование вариантов использования с предварительно встроенной интеграцией со всем портфолио программного обеспечения Micro Focus, демонстрирующее реальный вариант использования

  • Управление гибридным облаком и брокерские услуги

    Экспертные услуги по анализу безопасности, которые помогут вам быстро спроектировать, развернуть и проверить реализацию технологии безопасности Micro Focus.

  • Автоматизация центра обработки данных

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

  • Управление операциями

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

  • Управление услугами

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

  • Вертика

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

  • Глобальная аутентификация продукта

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

  • Управляемые службы

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

  • Модельные офисы

    Комплексные услуги по работе с большими данными, которые помогут вашему предприятию двигаться вперед.

  • OCaml — язык OCaml

    1Лексические соглашения

    Пробелы

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

    Комментарии начинаются с двух символов (*, без промежуточные пробелы и заканчиваются символами *), с без промежуточных пробелов. Комментарии рассматриваются как пустые символы. Комментарии не встречаются внутри строковых или символьных литералов. Вложенный комментарии обрабатываются корректно.

    Идентификаторы
    буква
    Ident :: = (буква | _) {письмо | 0 … 9 | _ | ‘}
    Captized-Ident :: = (A … Z) {Письмо | 0 … 9 | _ | ‘}
    нижний регистр ::= (a … z ∣  _) { буква ∣  0 … 9 ∣    ∣  ’ }  

    2

    ::=  A … Z ∣  a … z

    Идентификаторы представляют собой последовательности букв, цифр, _ (подчеркивание символ) и ‘ (одинарная кавычка), начинающаяся с буква или подчеркивание.Буквы содержат не менее 52 строчных и прописных букв. буквы из набора ASCII. Текущая реализация также распознает как буквы некоторые символы из ISO Набор 8859-1 (символы 192–214 и 216–222 в верхнем регистре; символы 223–246 и 248–255 в виде строчных букв). Этот эта функция устарела, и ее следует избегать для обеспечения совместимости в будущем.

    Все символы в идентификаторе осмысленный. Текущая реализация принимает идентификаторы до Длина 16000000 символов.

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

    Целые литералы

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

    Префикс Основание
    0x, 0x шестнадцатеричный (Radix 16)
    0o, 0o восьмерикал (Radix 8)
    0B, 0b двоичный (Radix 2)

    (Начальный 0 — это цифра ноль; восьмеричная буква О — это буква О.) Целочисленный литерал может сопровождаться одной из букв l, L или n. чтобы указать, что это целое число имеет тип int32, int64 или nativeint соответственно, вместо типа по умолчанию int для целочисленных литералов. Интерпретация целочисленных литералов, выходящих за пределы диапазона представляемые целочисленные значения не определены.

    Для удобства и удобочитаемости допускаются символы подчеркивания (_) (и игнорируется) внутри целочисленных литералов.

    # пусть номер_дома = 37 пусть миллион = 1_000_000 пусть авторское право = 0x00A9 пусть counter64bit = ссылка 0L;;

    val номер_дома : int = 37 val миллион : int = 1000000 val авторское право: int = 169 val counter64bit: int64 ref = {contents = 0L}

    Литералы с плавающей запятой
    float-литерал ::= [-] (0…9) { 0…9∣ _ } [.{ 0…9∣ _ }] [(e∣ E) [+∣ -] (0…9) { 0…9∣ _ }]
       [-] (0x∣ 0X) (0…9∣ А…Ф∣ а…ж) { 0…9∣ A…F∣ a…f∣ _ } [. { 0…9∣ A…F∣ a…f∣ _ }] [(p∣ P) [+∣ -] (0…9) { 0…9∣ _ }]

    Десятичные литералы с плавающей запятой состоят из целой части, дробная часть и показательная часть. Целая часть представляет собой последовательность одного или нескольких цифры, которым может предшествовать знак минус. Дробная часть представляет собой десятичная точка, за которой следует ноль, одна или несколько цифр.Показатель степени — это символ e или E, за которым следует необязательный знак + или -, за которым следует одна или несколько цифр. это интерпретируется как степень числа 10. Дробная часть или показатель степени могут быть опущены, но не обе, чтобы избегайте двусмысленности с целочисленными литералами. Интерпретация литералов с плавающей запятой, выходящих за пределы диапазон представляемых значений с плавающей запятой не определен.

    Шестнадцатеричные литералы с плавающей запятой обозначаются с помощью 0x или 0X приставка. Синтаксис похож на десятичный с плавающей запятой. литералов со следующими отличиями.Целая часть и дробная часть используют шестнадцатеричный формат. цифры. Показатель степени начинается с символа p или P. Он записывается в десятичном формате и интерпретируется как степень числа 2.

    Для удобства и удобства чтения допустимы символы подчеркивания (_). (и игнорируется) внутри литералов с плавающей запятой.

    # пусть пи = 3.141_592_653_589_793_12 пусть small_negative = -1e-5 пусть machine_epsilon = 0x1p-52;;

    знач. пи: число с плавающей запятой = 3,14159265358979312 значение small_negative : число с плавающей запятой = -1e-05 val machine_epsilon : число с плавающей запятой = 2.22044604925031308e-16

    Символьные литералы
    символьный литерал ::= ‘ обычный символ ’
       ’ экранирующая последовательность ’
     
    escape-последовательность ::= \ ( \ ∣  » ∣  ’ ∣  n ∣  t ∣  b ∣  r ∣  пробел )
       \ (0…9) (0…9) (0…9)
       \x (0…9∣ A…F∣ a…f) (0…9∣ А…Ф∣ а…ж)
       \o (0…3) (0…7) (0…7)

    Символьные литералы разделяются символами ‘ (одинарные кавычки).Две одинарные кавычки заключают либо один символ, отличный от ‘ и \ или одну из escape-последовательностей ниже:

    Последовательность Символ, обозначенный
    \\ Backslash (\)
    \ « двойной цитаты («)
    \ ‘ одной цитаты (‘)
    \ N LineFeed (LF)
    \ R Возврат каретки (CR)
    \ T горизонтальная таблица (Tab)
    \ B Backspace (BS)
    \ Space Space (SPC)
    \ ddd персонаж с кодом ASCII DDD в десятичных
    \ XHHH символ с кодом ASCII HH в Hexadecimal
    \ oo персонаж с кодом ASCII ООО в восьмерию

    # пусть а = ‘а’ пусть одинарная_кавычка = ‘\» пусть авторское право = ‘\xA9’;;

    значение а : символ = ‘а’ val single_quote : char = ‘\» val авторское право: char = ‘\169’

    Строковые литералы

    Строковые литералы разделяются символами » (двойные кавычки).Две двойные кавычки заключают в себя последовательность любых символов отличные от » и \, или управляющие последовательности из таблица, приведенная выше для символьных литералов, или символ Unicode последовательность выхода.

    Управляющая последовательность символов Unicode заменена кодировкой UTF-8 кодирование заданного скалярного значения Unicode. Скаляр Юникода значение, целое число в диапазоне 0x0000…0xD7FF или 0xE000…0x10FFFF, определяется с использованием от 1 до 6 шестнадцатеричных цифр; допускаются начальные нули.

    # пусть приветствие = «Привет, мир!\n» пусть superscript_plus = «\u{207A}»;;

    val приветствие: строка = «Привет, мир!\n» val superscript_plus : строка = «⁺»

    Чтобы разрешить разбиение длинных строковых литералов на строки, последовательность \newline ‍spaces-or-tabs (обратная косая черта в конце строки с последующим любым количеством пробелов и горизонтальных табуляций в конце начало следующей строки) внутри строковых литералов игнорируется.

    # пусть longstr = «Зовите меня Измаил. Несколько лет назад — неважно, сколько времени. именно — у меня мало или совсем нет денег в кошельке, и \ ничего особенного, что могло бы меня заинтересовать на берегу, я думал, \ поплывет немного и увидит водную часть т\ мир.»;;

    значение длинная строка: строка = «Зовите меня Измаил. Несколько лет назад — неважно, как давно — имея мало или вообще не имея денег в кошельке и не имея ничего особенно интересного на берегу, я решил немного поплавать и посмотреть водную часть мира.»

    Строковые литералы в кавычках обеспечивают альтернативный лексический синтаксис для строковые литералы. Они полезны для представления строк произвольного содержимого. не убегая. Строки в кавычках разделяются совпадающей парой {идентификатор строки в кавычках | и | ID строки в кавычках } с один и тот же идентификатор строки в кавычках с обеих сторон. Строки в кавычках не интерпретируются любой символ особым образом, но требует, чтобы последовательность | id строки в кавычках } не встречается в самой строке. Идентификатор в кавычках представляет собой (возможно, пустую) последовательность строчные буквы и символы подчеркивания, которые можно свободно выбирать, чтобы избежать такая проблема.

    # let quoted_greeting = {|»Привет, мир!»|} пусть вложенный = {ext|hello {|world|}|ext};;

    val quoted_greeting : string = «\»Привет, мир!\»» val вложенный: строка = «привет {|мир|}»

    Текущая реализация практически не накладывает ограничений на длина строковых литералов.

    Ярлыки с именами

    Чтобы избежать двусмысленности, метки имен в выражениях не могут быть определены просто синтаксически как последовательность трех токенов ~, ident и :, и должны быть определены на лексическом уровне.

    Метки имен бывают двух видов: метки для обычных аргументов и optlabel для необязательных. Они просто отличаются своим первый символ, либо ~, либо ?.

    Несмотря на то, что label и optlabel являются лексическими единицами в выражениях, их расширения ~ имя-метки : и ? имя-метки: будет используется в грамматиках для удобства чтения. Отметим также, что внутри выражения типа, это расширение может быть воспринято буквально, т.е. на самом деле есть 3 токена с необязательными пробелами между ними.

    Префиксные и инфиксные символы

    См. также следующие языковые расширения: операторы расширения, расширенные операторы индексации, и операторы привязки.

    Последовательности «символов оператора», такие как <=> или !!, читаются как одиночный токен из инфиксного символа или префиксного символа сорт. Эти символы анализируются как префиксные и инфиксные операторы внутри выражения, но в остальном ведут себя как обычные идентификаторы.

    Ключевые слова

    Приведенные ниже идентификаторы зарезервированы как ключевые слова и не могут использоваться иначе:

     и, как утверждают, начинают класс
          ограничение делать сделано до конца
          исключение external false для забавной функции
          функтор, если он включен, наследует инициализатор
          земля ленивый пусть лор лсл лср
          Изменяемый модуль модуля метода сопоставления lxor
          новый объект nonrec открытого или
          приватная структура rec sig затем
          true попробуйте ввести val virtual когда
          в то время как с
     


    Следующие последовательности символов также являются ключевыми словами:

     != # & && ' ( ) * + , -
        -.-> . .. .~ : :: := :> ; ;;
        < <- = > >] >} ? [[< [> [|
        ] _ ` { {< | |] || } ~
     

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

     значение парсера $ $$ $: <: << >> ??
     
    Неясности

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

    Директивы номеров строк

    Препроцессоры, генерирующие исходный код OCaml, могут вставлять номер строки директивы в своем выводе, чтобы сообщения об ошибках, создаваемые компилятор содержит номера строк и имена файлов, ссылающиеся на источник файл перед предварительной обработкой, а не после предварительной обработки. Директива номера строки начинается в начале строки, состоит из # (знак диез), за которым следует положительное целое число (номер строки исходного кода), за которым следует строка символов (имя исходного файла).Директивы номеров строк обрабатываются как пробелы во время лексического анализ.

    Copyright © 2021 Institut National de Поиск по информатике и автоматике

    Bash printf Command | Linuxize

    Обычно при написании сценариев bash мы используем echo для вывода на стандартный вывод. эхо это простая команда, но ее возможности ограничены.
    Чтобы лучше контролировать форматирование вывода, используйте команду printf .

    Команда printf форматирует и печатает свои аргументы аналогично функции C printf() .

    printf Команда #

    printf — это оболочка, встроенная в Bash и другие популярные оболочки, такие как Zsh и Ksh. Существует также автономный двоичный файл /usr/bin/printf , но встроенная версия оболочки имеет приоритет. Мы рассмотрим встроенную в Bash версию printf .

    Синтаксис команды printf следующий:

      printf [-v переменная] формат [аргументы]
      

    Опция -v указывает printf не печатать вывод, а присвоить его переменной.

    Формат — это строка, которая может содержать объекты трех различных типов:

    • Обычные символы, которые просто выводятся на выходе как есть.
    • Экранированные символы обратной косой черты, которые интерпретируются и затем печатаются.
    • Спецификации преобразования, которые описывают формат и заменяются значениями соответствующих аргументов, следующих за строкой формата.

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

    Ниже приведены несколько моментов, которые следует учитывать при передаче аргументов команде printf :

    • Оболочка заменит все переменные, подстановочные знаки и специальные символы перед передачей аргументов команде printf .
    • При использовании одинарных кавычек '' буквальное значение каждого символа, заключенного в кавычки, будет сохранено.Переменные и команды не будут расширены.
      printf "Открытые выпуски: %s\nЗакрытые выпуски: %s\n" "34" "65"  
      Открытые выпуски: 34
    Закрытые выпуски: 65
      

    Строка Открытые проблемы: %s\nЗакрытые проблемы: %s\n — это формат , а «34» и «65» — аргументы. Строка формата содержит два символа новой строки ( \n ) и два спецификатора формата ( %s ), которые заменяются аргументами.

    Команда printf не добавляет символ новой строки ( \n ) в конце строки.

    Символы, экранированные обратной косой чертой #

    Символы, экранированные обратной косой чертой, интерпретируются при использовании в строке формата или в аргументе, соответствующем спецификатору преобразования %b . Вот список наиболее распространенных escape-символов:

    • \ — Отображает символ обратной косой черты.
    • \b - Отображает символ возврата.
    • \n - Отображает новую строку.
    • \r - Отображает возврат каретки.
    • \t - Отображает горизонтальную вкладку.
    • \v - Отображает вертикальную вкладку.

    Спецификации преобразования #

    Спецификация преобразования имеет следующую форму:

      %[flags][width][.precision]specifier
      

    Каждая спецификация преобразования начинается со знака процента ( % ), включает необязательные модификаторы и заканчивается одной из следующих букв, представляющих тип данных (спецификатор ) соответствующего аргумента: aAbcdeEfgGioqsuxX .

    Спецификатор преобразования типа #

    Спецификатор преобразования типа — это символ, указывающий, как следует интерпретировать соответствующий аргумент. Этот символ является обязательным и ставится после необязательных полей.

    Ниже приведен список, показывающий все преобразования типов и то, что они делают:

    • %b — Распечатать аргумент, раскрывая escape-последовательности обратной косой черты.
    • %q - Распечатать аргумент в кавычках, повторно используемый в качестве ввода.
    • %d , %i — Вывести аргумент как десятичное целое число со знаком.
    • %u - Распечатать аргумент как десятичное целое число без знака.
    • %o - Распечатать аргумент как восьмеричное целое без знака.
    • %x , %X — вывести аргумент как шестнадцатеричное целое число без знака. %x печатает строчные буквы, а %X печатает прописные.
    • %e , %E - Распечатать аргумент как число с плавающей запятой в экспоненциальном представлении. %e печатает строчные буквы, а %E печатает прописные.
    • %a , %A - Распечатать аргумент как число с плавающей запятой в шестнадцатеричном дробном представлении. %a печатает строчные буквы, а %A печатает прописные.
    • %g , %G - Распечатать аргумент как число с плавающей запятой в обычном или экспоненциальном представлении, в зависимости от того, что больше подходит для данного значения и точности. %g печатает строчные буквы, а %G печатает прописные.
    • %c - Распечатать аргумент как один символ.
    • %f - Распечатать аргумент как число с плавающей запятой.
    • %s - Распечатать аргумент в виде строки.
    • %% - Вывести буквальный символ % .

    Число без знака представляет ноль и положительные числа, а число со знаком представляет отрицательные, нуль и положительные числа.

    Следующая команда печатает число 100 в трех разных системах счисления:

      printf "Десятичный: %d\nHex: %x\nВосьмеричный: %o\n" 100 100 100  
      Десятичный: 100
    Шестнадцатеричный: 64
    Восьмеричный: 144
      

    Флаги директивы #

    Флаги являются первыми необязательными модификаторами и используются для установки выравнивания, ведущих нулей, префиксов и т.д.

    Вот наиболее распространенные из них:

    • - - Выравнивание печатного текста по левому краю поля. По умолчанию текст выравнивается по правому краю.
    • + - Ставьте перед номерами знаки + или - . По умолчанию перед отрицательным знаком стоят только отрицательные числа.
    • 0 - Заполняет числа нулями вместо пробела.
    • пробел — перед положительными числами ставится пробел, а перед отрицательными — минус ().
    • # - Альтернативный формат для чисел.

    Директива ширины #

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

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

    Вот пример:

      printf "%20s %d\n" Mark 305  

    %20s означает установить длину поля не менее 20 символов.Перед текстом добавляются пробелы, потому что по умолчанию вывод выравнивается по правому краю. Чтобы выровнять текст по левому краю, используйте флаг - ( %-20s ).

      Марк 305
      

    Когда звездочка ( * ) используется в качестве директивы width , ширина поля преобразования задается аргументом ширины, который предшествует форматируемому аргументу.

    В приведенном ниже примере мы устанавливаем ширину на 10:

      printf "%0*d" 10 5  

    0 — это флаг, который дополняет число ведущими нулями вместо пробелов.Выходной текст будет содержать не менее 10 символов:

      0000000005
      

    Директива Precision #

    Модификатор .precision состоит из точки ( . ), за которой следует положительное целое число или звездочка ( * ), которые в зависимости от типа спецификатора задают количество строковых или цифровых символов. или количество знаков после запятой, которое нужно напечатать.

    Точность имеет следующий эффект:

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

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

      printf "%.3f" 1,61803398  
      1,618
      

    Если для точности задана звездочка ( * ), ее значение задается аргументом точности, который предшествует форматируемому аргументу.

      printf "%.*f" 3 1,61803398  
      1,618
      

    Заключение #

    Команда printf принимает формат и аргументы и печатает форматированный текст.

    Если у вас есть какие-либо вопросы или пожелания, не стесняйтесь оставлять комментарии.

    Директива Angular 7 - Разрешить только числовое значение в текстовом поле Пример

    Статьи Январь 2022 г. ( 1 ) декабрь 2021 г. ( 1 ) ноябрь 2021 г. ( 4 ) сен 2021 ( 4 ) авг 2021 г. ( 3 ) июнь 2021 г. ( 2 ) май 2021 г. ( 2 ) апрель 2021 г. ( 7 ) март 2021 г. ( 1 ) февраль 2021 г. ( 1 ) янв 2021 г. ( 1 ) декабрь 2020 г. ( 1 ) ноябрь 2020 г. ( 4 ) окт 2020 ( 2 ) май 2020 г. ( 1 ) апрель 2020 г. ( 4 ) март 2020 г. ( 1 ) февраль 2020 г. ( 1 ) Январь 2020 г. ( 3 ) декабрь 2019 г. ( 15 ) ноябрь 2019 г. ( 52 ) окт 2019 ( 12 ) сен 2019 ( 3 ) авг 2019 ( 7 ) июль 2019 г. ( 2 ) июнь 2019 г. ( 16 ) май 2019 г. ( 4 ) апрель 2019 г. ( 13 ) март 2019 г. ( 21 ) февраль 2019 г. ( 23 ) Январь 2019 г. ( 2 ) декабрь 2018 г. ( 1 ) ноябрь 2018 г. ( 8 ) окт 2018 ( 15 ) сен 2018 ( 10 ) авг 2018 ( 2 ) июль 2018 г. ( 11 ) июнь 2018 г. ( 15 ) май 2018 г. ( 96 ) апрель 2018 г. ( 27 ) март 2018 г. ( 81 ) февраль 2018 г. ( 30 ) Январь 2018 г. ( 34 ) декабрь 2017 г. ( 38 ) ноябрь 2017 г. ( 45 ) окт 2017 ( 18 ) сен 2017 ( 54 ) авг 2017 ( 25 ) июль 2017 г. ( 14 ) июнь 2017 г. ( 55 ) май 2017 г. ( 34 ) апрель 2017 г. ( 12 ) март 2017 г. ( 2 ) февраль 2017 г. ( 20 ) Январь 2017 г. ( 53 ) декабрь 2016 г. ( 42 ) ноябрь 2016 г. ( 24 ) Октябрь 2016 г. ( 26 ) сен 2016 ( 33 ) август 2016 г. ( 8 ) июль 2016 г. ( 40 ) июнь 2016 г. ( 18 ) май 2016 г. ( 3 ) апрель 2016 г. ( 28 ) март 2016 г. ( 13 ) февраль 2016 г. ( 17 ) Январь 2016 г. ( 29 ) декабрь 2015 г. ( 14 ) ноябрь 2015 г. ( 16 ) Октябрь 2015 г. ( 25 ) сен 2015 ( 41 ) август 2015 г. ( 18 ) июль 2015 г. ( 27 ) июнь 2015 г. ( 31 ) май 2015 г. ( 16 ) апрель 2015 г. ( 20 ) март 2015 г. ( 14 ) февраль 2015 г. ( 23 ) Январь 2015 г. ( 11 ) декабрь 2014 г. ( 17 ) ноябрь 2014 г. ( 7 ) Октябрь 2014 г. ( 29 ) сен 2014 ( 28 ) август 2014 г. ( 22 ) июль 2014 г. ( 31 ) июнь 2014 г. ( 32 ) май 2014 г. ( 6 ) апрель 2014 г. ( 1 ) март 2014 г. ( 1 ) февраль 2014 г. ( 7 ) Январь 2014 г. ( 2 ) декабрь 2013 г. ( 1 ) ноябрь 2013 г. ( 5 ) Октябрь 2013 г. ( 1 ) сентябрь 2013 г. ( 11 ) август 2013 г. ( 16 ) июль 2013 г. ( 1 ) июнь 2013 г. ( 6 ) Май 2013 ( 22 ) февраль 2012 г. ( 12 ) декабрь 2011 г. ( 1 ) ноябрь 2011 г. ( 1 ) сентябрь 2010 г. ( 3 ) май 2010 г. ( 1 )

    .

    Leave a Reply