Поделиться через


Комментарии

В начале текста комментариев ставятся две косые черты (//). Текст продолжается до конца строки. Такие комментарии могут появляться в любом участке исходного кода. Сейчас Q# не поддерживает блочные комментарии.

Комментарии для документации

Комментарии, текст которых начинается с трех косых черт, ///, обрабатываются компилятором особым образом, если они появляются перед объявлением типа или вызываемого элемента. В этом случае их содержимое расценивается как документация для определенного типа или вызываемого объекта, как и для других языков .NET.

Внутри комментариев /// текст, который будет отображаться как часть документации по API, форматируется как Markdown, а различные части документации определяются специально именованными заголовками. Перекрестные ссылки на операции, функции и пользовательские типы в Q# как расширение Markdown можно включать с помощью @"<ref target>,", где <ref target> заменяется полным именем объекта кода, на который указывает ссылка. Кроме того, при необходимости обработчик документации может поддерживать дополнительные расширения Markdown.

Например:

/// # Summary
/// Given an operation and a target for that operation,
/// applies the given operation twice.
///
/// # Input
/// ## op
/// The operation to be applied.
/// ## target
/// The target to which the operation is to be applied.
///
/// # Type Parameters
/// ## 'T
/// The type expected by the given operation as its input.
///
/// # Example
/// ```Q#
/// // Should be equivalent to the identity.
/// ApplyTwice(H, qubit);
/// ```
///
/// # See Also
/// - Microsoft.Quantum.Intrinsic.H
operation ApplyTwice<'T>(op : ('T => Unit), target : 'T) : Unit {
    op(target);
    op(target);
}

Q# распознает следующие имена как заголовки комментариев документации.

  • Сводка. Краткая сводка по поведению функции либо операции или назначению типа. Первый абзац сводки используется для сведений о наведении. Он должен быть обычным текстом.
  • Описание. Описание поведения функции либо операции или назначения типа. Сводка и описание объединяются, образуя сгенерированный файл документации для функции, операции или типа. Описание может содержать встроенные символы и уравнения в формате LaTeX.
  • Входные данные. Описание входного кортежа для операции или функции. Может содержать дополнительные подразделы Markdown, указывающие каждый элемент входного кортежа.
  • Выходные данные. Описание кортежа, возвращенного операцией или функцией.
  • Параметры типа. Пустой раздел, который содержит один дополнительный подраздел для каждого параметра универсального типа.
  • Именованные элементы. Описание именованных элементов в пользовательскому типе. Может содержать дополнительные подразделы Markdown с описанием для каждого именованного элемента.
  • Пример. Краткий пример использования операции, функции или типа.
  • Комментарии. Различные примечания, описывающие некоторые аспекты операции, функции или типа.
  • См. также. Список полных имен, определяющих связанные функции, операции или пользовательские типы.
  • Ссылки. Список ссылок для задокументированного элемента.